/*! For license information please see smartplayer.js.LICENSE.txt */ (()=>{var r={12:(e,t,r)=>{var i=r(1118),s=r(3895),n=r(6230);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("intersection",function(e){return 2===e.size&&e.has(1)&&e.has(2)})||s(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:n})},73:(e,t,r)=>{r(9450),r(7995),r(5467),r(2457),r(2292),r(6575),r(9700),r(4329),r(4160),r(9915),r(6524),r(3438),r(2637),r(7985),r(9027),r(96),r(2124),r(7877),r(4814),r(1939),r(9063),r(9064);r=r(5639);e.exports=r.Symbol},86:function(e,t,r){function i(t){var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){return r.reject(e)})})}function s(r){return new this(function(s,e){if(!r||void 0===r.length)return e(new TypeError(typeof r+" "+r+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var n=Array.prototype.slice.call(r);if(0===n.length)return s([]);var a=n.length;for(var t=0;t{if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r.g)return r.g;throw new Error("unable to locate global object")})()).Promise?v.Promise=h:(v.Promise.prototype.finally||(v.Promise.prototype.finally=i),v.Promise.allSettled||(v.Promise.allSettled=s),v.Promise.any||(v.Promise.any=n))},96:(e,t,r)=>{r(7303)("split")},157:e=>{var t=TypeError;e.exports=function(e){if(9007199254740991{var r=r(8688),i=Function.prototype,s=i.apply,n=i.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?n.bind(s):function(){return n.apply(s,arguments)})},189:e=>{var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},346:(e,t,r)=>{var i=r(4949),s=r(5791),n=r(7051),a=r(3232);e.exports=function(){var e=s("Symbol"),e=e&&e.prototype,t=e&&e.valueOf,r=n("toPrimitive");e&&!e[r]&&a(e,r,function(e){return i(t,this)},{arity:1})}},355:(e,t,r)=>{function i(e){h(e,m,{value:{objectID:"O"+v++,weakData:{}}})}var a=r(1118),o=r(6232),s=r(6589),n=r(6586),l=r(473),h=r(2953).f,d=r(8616),c=r(4146),u=r(4324),f=r(2936),p=r(2032),g=!1,m=f("meta"),v=0,y=e.exports={enable:function(){y.enable=function(){},g=!0;var s=d.f,n=o([].splice),e={};e[m]=1,s(e).length&&(d.f=function(e){for(var t=s(e),r=0,i=t.length;r{var i=r(8316),s=r(4354),n=r(8688),a=i(i.bind);e.exports=function(e,t){return s(e),void 0===t?e:n?a(e,t):function(){return e.apply(t,arguments)}}},407:(e,t,r)=>{r=r(7051);t.f=r},419:e=>{e.exports=function(e){try{var t=new Set,r={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return t.clear(),t.add(4),function(){return{done:!0}}}})}},i=t[e](r);return 1===i.size&&4===i.values().next().value}catch(e){return!1}}},441:(e,t,r)=>{var i=r(4949),s=r(4354),n=r(3743),a=r(5599),o=r(7787),l=TypeError;e.exports=function(e,t){t=arguments.length<2?o(e):t;if(s(t))return n(i(t,e));throw new l(a(e)+" is not iterable")}},473:(e,t,r)=>{var i=r(6232),s=r(7149),n=i({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return n(s(e),t)}},484:(e,t,r)=>{r=r(3895);e.exports=!r(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},497:(e,t,r)=>{var i=r(2184),s=Object.defineProperty;e.exports=function(t,r){try{s(i,t,{value:r,configurable:!0,writable:!0})}catch(e){i[t]=r}return r}},547:(e,t,r)=>{var i=r(1831);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:i(e)}},641:(F,N,e)=>{function n(e,t,r){var i=oe(R,t);i&&delete R[t],P(e,t,r),i&&e!==R&&P(R,t,i)}function t(e,t){var r=D[e]=E(C);return ie(r,{type:I,tag:e,description:t}),f||(r.description=t),r}function i(e,t,r){return e===R&&i(x,t,r),m(e),t=y(t),m(r),(g(D,t)?(r.enumerable?(g(e,k)&&e[k][t]&&(e[k][t]=!1),r=E(r,{enumerable:b(0,!1)})):(g(e,k)||P(e,k,b(1,E(null))),e[k][t]=!0),M):P)(e,t,r)}function r(t,e){m(t);var r=v(e),e=T(r).concat(l(r));return L(e,function(e){f&&!c(s,r,e)||i(t,e,r[e])}),t}function s(e){var e=y(e),t=c(he,this,e);return!(this===R&&g(D,e)&&!g(x,e))&&(!(t||!g(this,e)||!g(D,e)||g(this,k)&&this[k][e])||t)}function a(e,t){var r,e=v(e),t=y(t);if(e!==R||!g(D,t)||g(x,t))return!(r=oe(e,t))||!g(D,t)||g(e,k)&&e[k][t]||(r.enumerable=!0),r}function o(e){var e=le(v(e)),t=[];return L(e,function(e){g(D,e)||g(X,e)||de(t,e)}),t}function l(e){var t=e===R,e=le(t?x:v(e)),r=[];return L(e,function(e){!g(D,e)||t&&!g(R,e)||de(r,D[e])}),r}var h=e(1118),d=e(2184),c=e(4949),u=e(6232),U=e(2371),f=e(484),p=e(7607),B=e(3895),g=e(473),$=e(6433),m=e(3743),v=e(1773),y=e(7729),V=e(1831),b=e(668),E=e(3264),T=e(9800),G=e(8616),j=e(4146),H=e(5965),z=e(8443),K=e(2953),Y=e(937),W=e(7309),S=e(3232),q=e(2770),_=e(7273),A=e(9919),X=e(6589),Q=e(2936),Z=e(7051),J=e(407),ee=e(7303),te=e(346),re=e(2967),w=e(1045),L=e(8533).forEach,k=A("hidden"),I="Symbol",e="prototype",ie=w.set,se=w.getterFor(I),R=Object[e],A=d.Symbol,C=A&&A[e],ne=d.RangeError,ae=d.TypeError,w=d.QObject,oe=z.f,P=K.f,le=j.f,he=W.f,de=u([].push),D=_("symbols"),x=_("op-symbols"),u=_("wks"),O=!w||!w[e]||!w[e].findChild,M=f&&B(function(){return 7!==E(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?n:P;p||(S(C=(A=function(){if($(C,this))throw new ae("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?V(arguments[0]):void 0,i=Q(e),s=function(t){var r=void 0===this?d:this,t=(r===R&&c(s,x,t),g(r,k)&&g(r[k],i)&&(r[k][i]=!1),b(1,t));try{M(r,i,t)}catch(e){if(!(e instanceof ne))throw e;n(r,i,t)}};return f&&O&&M(R,i,{configurable:!0,set:s}),t(i,e)})[e],"toString",function(){return se(this).tag}),S(A,"withoutSetter",function(e){return t(Q(e),e)}),W.f=s,K.f=i,Y.f=r,z.f=a,G.f=j.f=o,H.f=l,J.f=function(e){return t(Z(e),e)},f&&(q(C,"description",{configurable:!0,get:function(){return se(this).description}}),U||S(R,"propertyIsEnumerable",s,{unsafe:!0}))),h({global:!0,constructor:!0,wrap:!0,forced:!p,sham:!p},{Symbol:A}),L(T(u),function(e){ee(e)}),h({target:I,stat:!0,forced:!p},{useSetter:function(){O=!0},useSimple:function(){O=!1}}),h({target:"Object",stat:!0,forced:!p,sham:!f},{create:function(e,t){return void 0===t?E(e):r(E(e),t)},defineProperty:i,defineProperties:r,getOwnPropertyDescriptor:a}),h({target:"Object",stat:!0,forced:!p},{getOwnPropertyNames:o}),te(),re(A,I),X[k]=!0},668:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},678:(e,t,r)=>{var i=r(484),r=r(473),s=Function.prototype,n=i&&Object.getOwnPropertyDescriptor,r=r(s,"name"),a=r&&"something"===function(){}.name,i=r&&(!i||n(s,"name").configurable);e.exports={EXISTS:r,PROPER:a,CONFIGURABLE:i}},775:(e,t,r)=>{var i=r(8640),s=r(8586).has,n=r(2266),a=r(885),o=r(8291),l=r(3819);e.exports=function(e){var t,r=i(this),e=a(e);return!(n(r){var i=r(1118),s=r(2371),n=r(4956).CONSTRUCTOR,a=r(6734),o=r(5791),l=r(189),r=r(3232),h=a&&a.prototype;i({target:"Promise",proto:!0,forced:n,real:!0},{catch:function(e){return this.then(void 0,e)}}),!s&&l(a)&&(i=o("Promise").prototype.catch,h.catch!==i)&&r(h,"catch",i,{unsafe:!0})},829:e=>{e.exports=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(e){}}},860:(e,t,r)=>{var i=r(1118),s=r(2358);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("isSubsetOf",function(e){return e})},{isSubsetOf:s})},863:e=>{e.exports={name:"memoryStorage",read:function(e){return r[e]},write:function(e,t){r[e]=t},each:function(e){for(var t in r)r.hasOwnProperty(t)&&e(r[t],t)},remove:function(e){delete r[e]},clearAll:function(e){r={}}};var r={}},885:(e,t,r)=>{function i(e,t){this.set=e,this.size=u(t,0),this.has=s(e.has),this.keys=s(e.keys)}var s=r(4354),n=r(3743),a=r(4949),o=r(2883),l=r(8719),h="Invalid size",d=RangeError,c=TypeError,u=Math.max;i.prototype={getIterator:function(){return l(n(a(this.keys,this.set)))},includes:function(e){return a(this.has,this.set,e)}},e.exports=function(e){n(e);var t=+e.size;if(t!=t)throw new c(h);t=o(t);if(t<0)throw new d(h);return new i(e,t)}},937:(e,t,r)=>{var i=r(484),s=r(7318),o=r(2953),l=r(3743),h=r(1773),d=r(9800);t.f=i&&!s?Object.defineProperties:function(e,t){l(e);for(var r,i=h(t),s=d(t),n=s.length,a=0;a{var i=r(5791),s=r(6232),n=r(8616),a=r(5965),o=r(3743),l=s([].concat);e.exports=i("Reflect","ownKeys")||function(e){var t=n.f(o(e)),r=a.f;return r?l(t,r(e)):t}},1045:(e,t,r)=>{var i,s,n,a,o=r(1446),l=r(2184),h=r(6586),d=r(8227),c=r(473),u=r(5269),f=r(9919),r=r(6589),p="Object already initialized",g=l.TypeError,l=l.WeakMap,m=o||u.state?((n=u.state||(u.state=new l)).get=n.get,n.has=n.has,n.set=n.set,i=function(e,t){if(n.has(e))throw new g(p);return t.facade=e,n.set(e,t),t},s=function(e){return n.get(e)||{}},function(e){return n.has(e)}):(r[a=f("state")]=!0,i=function(e,t){if(c(e,a))throw new g(p);return t.facade=e,d(e,a,t),t},s=function(e){return c(e,a)?e[a]:{}},function(e){return c(e,a)});e.exports={set:i,get:s,has:m,enforce:function(e){return m(e)?s(e):i(e,{})},getterFor:function(t){return function(e){if(h(e)&&(e=s(e)).type===t)return e;throw new g("Incompatible receiver, "+t+" required")}}}},1071:()=>{var e,t;e=window,t=performance,e._plt=e._plt||(t&&t.timeOrigin?t.timeOrigin+t.now():Date.now())},1118:(e,t,r)=>{var h=r(2184),d=r(8443).f,c=r(8227),u=r(3232),f=r(497),p=r(4964),g=r(5412);e.exports=function(e,t){var r,i,s,n=e.target,a=e.global,o=e.stat,l=a?h:o?h[n]||f(n,{}):h[n]&&h[n].prototype;if(l)for(r in t){if(i=t[r],s=e.dontCallGetSet?(s=d(l,r))&&s.value:l[r],!g(a?r:n+(o?".":"#")+r,e.forced)&&void 0!==s){if(typeof i==typeof s)continue;p(i,s)}(e.sham||s&&s.sham)&&c(i,"sham",!0),u(l,r,i,e)}}},1122:(e,t,r)=>{var i=r(6232),s=r(189),r=r(5269),n=i(Function.toString);s(r.inspectSource)||(r.inspectSource=function(e){return n(e)}),e.exports=r.inspectSource},1153:(e,t,r)=>{function i(e){return function(){R(e)}}function s(e){R(e.data)}function n(e){l.postMessage(w(e),a.protocol+"//"+a.host)}var a,o,l=r(2184),h=r(177),d=r(360),c=r(189),u=r(473),f=r(3895),p=r(4293),g=r(2344),m=r(5871),v=r(7188),y=r(8496),r=r(2822),b=l.setImmediate,E=l.clearImmediate,T=l.process,S=l.Dispatch,_=l.Function,A=l.MessageChannel,w=l.String,L=0,k={},I="onreadystatechange",R=(f(function(){a=l.location}),function(e){var t;u(k,e)&&(t=k[e],delete k[e],t())});b&&E||(b=function(e){v(arguments.length,1);var t=c(e)?e:_(e),r=g(arguments,1);return k[++L]=function(){h(t,void 0,r)},o(L),L},E=function(e){delete k[e]},r?o=function(e){T.nextTick(i(e))}:S&&S.now?o=function(e){S.now(i(e))}:A&&!y?(y=(r=new A).port2,r.port1.onmessage=s,o=d(y.postMessage,y)):l.addEventListener&&c(l.postMessage)&&!l.importScripts&&a&&"file:"!==a.protocol&&!f(n)?(o=n,l.addEventListener("message",s,!1)):o=I in m("script")?function(e){p.appendChild(m("script"))[I]=function(){p.removeChild(this),R(e)}}:function(e){setTimeout(i(e),0)}),e.exports={set:b,clear:E}},1273:(e,t,r)=>{function i(o){return function(e,t,r){var i=l(e),s=d(i);if(0!==s){var n,a=h(r,s);if(o&&t!=t){for(;a{function v(e,t){this.stopped=e,this.result=t}var y=r(360),b=r(4949),E=r(3743),T=r(5599),S=r(8633),_=r(4542),A=r(6433),w=r(441),L=r(7787),k=r(3819),I=TypeError,R=v.prototype;e.exports=function(e,t,r){function i(e){return n&&k(n,"normal"),new v(!0,e)}function s(e){return u?(E(e),g?m(e[0],e[1],i):m(e[0],e[1])):g?m(e,i):m(e)}var n,a,o,l,h,d,c=r&&r.that,u=!(!r||!r.AS_ENTRIES),f=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),g=!(!r||!r.INTERRUPTED),m=y(t,c);if(f)n=e.iterator;else if(p)n=e;else{if(!(r=L(e)))throw new I(T(e)+" is not iterable");if(S(r)){for(a=0,o=_(e);a{var i=r(484),s=r(3895),n=r(5871);e.exports=!i&&!s(function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a})},1361:(e,t,r)=>{var i=r(1118),s=r(2184),n=r(177),a=r(2344),o=r(9427),l=r(4354),h=r(2855),d=s.Promise,c=!1;i({target:"Promise",stat:!0,forced:!d||!d.try||h(function(){d.try(function(e){c=8===e},8)}).error||!c},{try:function(e){var t=1{var i=r(2184),r=r(189),i=i.WeakMap;e.exports=r(i)&&/native code/.test(String(i))},1635:(e,t,r)=>{r(1118)({target:"Object",stat:!0},{hasOwn:r(473)})},1651:(e,t,r)=>{var i=r(8964),s=r(189),n=r(2072),a=r(7051)("toStringTag"),o=Object,l="Arguments"===n(function(){return arguments}());e.exports=i?n:function(e){var t;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=((e,t)=>{try{return e[t]}catch(e){}})(e=o(e),a))?t:l?n(e):"Object"===(t=n(e))&&s(e.callee)?"Arguments":t}},1655:(e,t,r)=>{var i=r(189),s=r(6586),n=r(9391);e.exports=function(e,t,r){return n&&i(t=t.constructor)&&t!==r&&s(t=t.prototype)&&t!==r.prototype&&n(e,t),e}},1772:(e,t,r)=>{var i=r(6433),s=TypeError;e.exports=function(e,t){if(i(t,e))return e;throw new s("Incorrect invocation")}},1773:(e,t,r)=>{var i=r(9463),s=r(8574);e.exports=function(e){return i(s(e))}},1831:(e,t,r)=>{var i=r(1651),s=String;e.exports=function(e){if("Symbol"===i(e))throw new TypeError("Cannot convert a Symbol value to a string");return s(e)}},1939:(e,t,r)=>{var i=r(2184);r(2967)(i.JSON,"JSON",!0)},1966:(e,t,r)=>{function s(e,t){var r=f(arguments),i=p(t);if(c(i)||void 0!==e&&!u(e))return r[1]=function(e,t){if(c(i)&&(t=l(i,this,g(e),t)),!u(t))return t},o(m,null,r)}function n(e,t,r){var i=y(r,t-1),r=y(r,t+1);return v(_,e)&&!v(A,r)||v(A,e)&&!v(_,i)?"\\u"+T(b(e,0),16):e}var i=r(1118),a=r(5791),o=r(177),l=r(4949),h=r(6232),d=r(3895),c=r(189),u=r(8797),f=r(2344),p=r(3581),r=r(7607),g=String,m=a("JSON","stringify"),v=h(/./.exec),y=h("".charAt),b=h("".charCodeAt),E=h("".replace),T=h(1.1.toString),S=/[\uD800-\uDFFF]/g,_=/^[\uD800-\uDBFF]$/,A=/^[\uDC00-\uDFFF]$/,w=!r||d(function(){var e=a("Symbol")("stringify detection");return"[null]"!==m([e])||"{}"!==m({a:e})||"{}"!==m(Object(e))}),L=d(function(){return'"\\udf06\\ud834"'!==m("\udf06\ud834")||'"\\udead"'!==m("\udead")});m&&i({target:"JSON",stat:!0,arity:3,forced:w||L},{stringify:function(e,t,r){var i=f(arguments),i=o(w?s:m,null,i);return L&&"string"==typeof i?E(i,S,n):i}})},2032:(e,t,r)=>{r=r(3895);e.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},2072:(e,t,r)=>{var r=r(6232),i=r({}.toString),s=r("".slice);e.exports=function(e){return s(i(e),8,-1)}},2124:(e,t,r)=>{var i=r(7303),r=r(346);i("toPrimitive"),r()},2138:(e,t,r)=>{var i=r(6232),s=r(4354);e.exports=function(e,t,r){try{return i(s(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}},2184:function(e,t,r){function i(e){return e&&e.Math===Math&&e}e.exports=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof r.g&&r.g)||i("object"==typeof this&&this)||function(){return this}()||Function("return this")()},2209:(e,t,r)=>{r=r(9839);e.exports=/ipad|iphone|ipod/i.test(r)&&"undefined"!=typeof Pebble},2266:(e,t,r)=>{var i=r(2138),r=r(8586);e.exports=i(r.proto,"size","get")||function(e){return e.size}},2292:(e,t,r)=>{r(7303)("asyncIterator")},2300:(e,t,r)=>{var i=r(1118),s=r(1273).includes,n=r(3895),r=r(4173);i({target:"Array",proto:!0,forced:n(function(){return!Array(1).includes()})},{includes:function(e){return s(this,e,1{var i=r(1118),r=r(2573);i({target:"Object",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},2344:(e,t,r)=>{r=r(6232);e.exports=r([].slice)},2358:(e,t,r)=>{var i=r(8640),s=r(2266),n=r(7501),a=r(885);e.exports=function(e){var t=i(this),r=a(e);return!(s(t)>r.size)&&!1!==n(t,function(e){if(!r.includes(e))return!1},!0)}},2371:e=>{e.exports=!1},2385:e=>{e.exports=function(){var r={};return{defaults:function(e,t){r=t},get:function(e,t){e=e();return void 0!==e?e:r[t]}}}},2410:(e,t,r)=>{var i=r(1118),s=r(5316),n=r(419);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("union")||!n("union")},{union:s})},2419:(e,t,r)=>{var i=r(1118),s=r(775);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("isSupersetOf",function(e){return!e})},{isSupersetOf:s})},2457:(e,t,r)=>{var i=r(2184),s=r(7303),n=r(2953).f,r=r(8443).f,i=i.Symbol;s("asyncDispose"),i&&(s=r(i,"asyncDispose")).enumerable&&s.configurable&&s.writable&&n(i,"asyncDispose",{value:s.value,enumerable:!1,configurable:!1,writable:!1})},2515:(e,t,r)=>{var s=r(8227),n=r(7897),a=r(5115),o=Error.captureStackTrace;e.exports=function(e,t,r,i){a&&(o?o(e,t):s(e,"stack",n(r,i)))}},2545:e=>{function t(){this.head=null,this.tail=null}t.prototype={add:function(e){var e={item:e,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}},e.exports=t},2573:(e,t,r)=>{var u=r(484),i=r(6232),f=r(4949),s=r(3895),p=r(9800),g=r(5965),m=r(7309),v=r(7149),y=r(9463),n=Object.assign,a=Object.defineProperty,b=i([].concat);e.exports=!n||s(function(){var e,t,r,i;return!(!u||1===n({b:1},n(a({},"a",{enumerable:!0,get:function(){a(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)||(t={},i="abcdefghijklmnopqrst",(e={})[r=Symbol("assign detection")]=7,i.split("").forEach(function(e){t[e]=e}),7!==n({},e)[r])||p(n({},t)).join("")!==i})?function(e,t){for(var r=v(e),i=arguments.length,s=1,n=g.f,a=m.f;s{var i,s,n,a,o,l,h=r(2184),d=r(5397),c=r(360),u=r(1153).set,f=r(2545),p=r(8496),g=r(2209),m=r(2668),v=r(2822),r=h.MutationObserver||h.WebKitMutationObserver,y=h.document,b=h.process,E=h.Promise,d=d("queueMicrotask");d||(a=new f,o=function(){var e,t;for(v&&(e=b.domain)&&e.exit();t=a.get();)try{t()}catch(e){throw a.head&&l(),e}e&&e.enter()},l=p||v||m||!r||!y?!g&&E&&E.resolve?((f=E.resolve(void 0)).constructor=E,n=c(f.then,f),function(){n(o)}):v?function(){b.nextTick(o)}:(u=c(u,h),function(){u(o)}):(i=!0,s=y.createTextNode(""),new r(o).observe(s,{characterData:!0}),function(){s.data=i=!i}),d=function(e){a.head||l(),a.add(e)}),e.exports=d},2637:(e,t,r)=>{r(7303)("replace")},2651:(e,t,r)=>{r(4897)},2668:(e,t,r)=>{r=r(9839);e.exports=/web0s(?!.*chrome)/i.test(r)},2687:(e,t,r)=>{var i=r(1118),h=r(4949),d=r(4354),s=r(9427),n=r(2855),c=r(1332);i({target:"Promise",stat:!0,forced:r(3601)},{allSettled:function(e){var o=this,t=s.f(o),l=t.resolve,r=t.reject,i=n(function(){var i=d(o.resolve),s=[],n=0,a=1;c(e,function(e){var t=n++,r=!1;a++,h(i,o,e).then(function(e){r||(r=!0,s[t]={status:"fulfilled",value:e},--a)||l(s)},function(e){r||(r=!0,s[t]={status:"rejected",reason:e},--a)||l(s)})}),--a||l(s)});return i.error&&r(i.value),t.promise}})},2754:(e,t,r)=>{function s(){return this}var n=r(7761).IteratorPrototype,a=r(3264),o=r(668),l=r(2967),h=r(3813);e.exports=function(e,t,r,i){t+=" Iterator";return e.prototype=a(n,{next:o(+!i,r)}),l(e,t,!1,!0),h[t]=s,e}},2770:(e,t,r)=>{var i=r(9363),s=r(2953);e.exports=function(e,t,r){return r.get&&i(r.get,t,{getter:!0}),r.set&&i(r.set,t,{setter:!0}),s.f(e,t,r)}},2822:(e,t,r)=>{r=r(3183);e.exports="NODE"===r},2852:e=>{function o(e,t,r,i,s,n){return g((t=g(g(t,e),g(i,n)))<>>32-s,r)}function c(e,t,r,i,s,n,a){return o(t&r|~t&i,e,t,s,n,a)}function u(e,t,r,i,s,n,a){return o(t&i|r&~i,e,t,s,n,a)}function f(e,t,r,i,s,n,a){return o(t^r^i,e,t,s,n,a)}function p(e,t,r,i,s,n,a){return o(r^(t|~i),e,t,s,n,a)}function g(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}e.exports=function(e){return(e=>{for(var t,r="0123456789ABCDEF",i="",s=0;s>>4&15)+r.charAt(15&t);return i})((e=>{for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>r%32&255);return t})(((e,t)=>{e[t>>5]|=128<>>9<<4)]=t;for(var r=1732584193,i=-271733879,s=-1732584194,n=271733878,a=0;a{for(var t=Array(e.length>>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<{e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},2883:(e,t,r)=>{var i=r(4125);e.exports=function(e){e=+e;return e!=e||0==e?0:i(e)}},2936:(e,t,r)=>{var r=r(6232),i=0,s=Math.random(),n=r(1.1.toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+n(++i+s,36)}},2953:(e,t,r)=>{var i=r(484),s=r(1349),n=r(7318),a=r(3743),o=r(7729),l=TypeError,h=Object.defineProperty,d=Object.getOwnPropertyDescriptor,c="enumerable",u="configurable",f="writable";t.f=i?n?function(e,t,r){var i;return a(e),t=o(t),a(r),"function"==typeof e&&"prototype"===t&&"value"in r&&f in r&&!r[f]&&(i=d(e,t))&&i[f]&&(e[t]=r.value,r={configurable:(u in r?r:i)[u],enumerable:(c in r?r:i)[c],writable:!1}),h(e,t,r)}:h:function(e,t,r){if(a(e),t=o(t),a(r),s)try{return h(e,t,r)}catch(e){}if("get"in r||"set"in r)throw new l("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},2967:(e,t,r)=>{var i=r(2953).f,s=r(473),n=r(7051)("toStringTag");e.exports=function(e,t,r){(e=e&&!r?e.prototype:e)&&!s(e,n)&&i(e,n,{configurable:!0,value:t})}},3076:(e,t,r)=>{var u=r(360),f=r(4949),p=r(7149),g=r(8903),m=r(8633),v=r(6261),y=r(4542),b=r(8008),E=r(441),T=r(7787),S=Array;e.exports=function(e){var t,r,i,s,n,a,o=p(e),e=v(this),l=arguments.length,h=1{var h=r(3264),d=r(2770),c=r(9231),u=r(360),f=r(1772),p=r(4861),g=r(1332),a=r(3448),o=r(4441),l=r(9081),m=r(484),v=r(355).fastKey,r=r(1045),y=r.set,b=r.getterFor;e.exports={getConstructor:function(e,r,i,s){function n(e,t,r){var i,s=l(e),n=a(e,t);return n?n.value=r:(s.last=n={index:i=v(t,!0),key:t,value:r,previous:t=s.last,next:null,removed:!1},s.first||(s.first=n),t&&(t.next=n),m?s.size++:e.size++,"F"!==i&&(s.index[i]=n)),e}function a(e,t){var r,e=l(e),i=v(t);if("F"!==i)return e.index[i];for(r=e.first;r;r=r.next)if(r.key===t)return r}var e=e(function(e,t){f(e,o),y(e,{type:r,index:h(null),first:null,last:null,size:0}),m||(e.size=0),p(t)||g(t,e[s],{that:e,AS_ENTRIES:i})}),o=e.prototype,l=b(r);return c(o,{clear:function(){for(var e=l(this),t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=null),t=t.next;e.first=e.last=null,e.index=h(null),m?e.size=0:this.size=0},delete:function(e){var t,r,i=l(this),e=a(this,e);return e&&(t=e.next,r=e.previous,delete i.index[e.index],e.removed=!0,r&&(r.next=t),t&&(t.previous=r),i.first===e&&(i.first=t),i.last===e&&(i.last=r),m?i.size--:this.size--),!!e},forEach:function(e){for(var t,r=l(this),i=u(e,1{function i(e){return n.slice(0,e.length)===e}var s=r(2184),n=r(9839),r=r(2072);e.exports=i("Bun/")?"BUN":i("Cloudflare-Workers")?"CLOUDFLARE":i("Deno/")?"DENO":i("Node.js/")?"NODE":s.Bun&&"string"==typeof Bun.version?"BUN":s.Deno&&"object"==typeof Deno.version?"DENO":"process"===r(s.process)?"NODE":s.window&&s.document?"BROWSER":"REST"},3232:(e,t,r)=>{var a=r(189),o=r(2953),l=r(9363),h=r(497);e.exports=function(e,t,r,i){var s=(i=i||{}).enumerable,n=void 0!==i.name?i.name:t;if(a(r)&&l(r,n,i),i.global)s?e[t]=r:h(t,r);else{try{i.unsafe?e[t]&&(s=!0):delete e[t]}catch(e){}s?e[t]=r:o.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e}},3264:(e,t,r)=>{function i(){}function s(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t}var n,a=r(3743),o=r(937),l=r(8463),h=r(6589),d=r(4293),c=r(5871),r=r(9919),u=">",f="<",p="prototype",g="script",m=r("IE_PROTO"),v=function(e){return f+g+u+e+f+"/"+g+u},y=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}y="undefined"==typeof document||document.domain&&n?s(n):(e=c("iframe"),t="java"+g+":",e.style.display="none",d.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var e,t,r=l.length;r--;)delete y[p][l[r]];return y()};h[m]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(i[p]=a(e),r=new i,i[p]=null,r[m]=e):r=y(),void 0===t?r:o.f(r,t)}},3438:(e,t,r)=>{r(7303)("matchAll")},3448:(e,t,r)=>{function g(){return this}var m=r(1118),v=r(4949),y=r(2371),i=r(678),b=r(189),E=r(2754),T=r(6923),S=r(9391),_=r(2967),A=r(8227),w=r(3232),s=r(7051),L=r(3813),r=r(7761),k=i.PROPER,I=i.CONFIGURABLE,R=r.IteratorPrototype,C=r.BUGGY_SAFARI_ITERATORS,P=s("iterator"),D="values",x="entries";e.exports=function(e,t,r,i,s,n,a){E(r,t,i);function o(e){if(e===s&&f)return f;if(!C&&e&&e in c)return c[e];switch(e){case"keys":case D:case x:return function(){return new r(this,e)}}return function(){return new r(this)}}var l,h,i=t+" Iterator",d=!1,c=e.prototype,u=c[P]||c["@@iterator"]||s&&c[s],f=!C&&u||o(s),p="Array"===t&&c.entries||u;if(p&&(p=T(p.call(new e)))!==Object.prototype&&p.next&&(y||T(p)===R||(S?S(p,R):b(p[P])||w(p,P,g)),_(p,i,!0,!0),y)&&(L[i]=g),k&&s===D&&u&&u.name!==D&&(!y&&I?A(c,"name",D):(d=!0,f=function(){return v(u,this)})),s)if(l={values:o(D),keys:n?f:o("keys"),entries:o(x)},a)for(h in l)!C&&!d&&h in c||w(c,h,l[h]);else m({target:t,proto:!0,forced:C||d},l);return y&&!a||c[P]===f||w(c,P,f,{name:s}),L[t]=f,l}},3452:(e,t,r)=>{var i=r(1118),s=r(473),n=r(8797),a=r(5599),o=r(7273),r=r(8040),l=o("symbol-to-string-registry");i({target:"Symbol",stat:!0,forced:!r},{keyFor:function(e){if(!n(e))throw new TypeError(a(e)+" is not a symbol");if(s(l,e))return l[e]}})},3491:(e,t,r)=>{var i=r(8964),s=r(1651);e.exports=i?{}.toString:function(){return"[object "+s(this)+"]"}},3495:(e,t,r)=>{var i=r(6681).Global;function s(){return i.localStorage}function n(e){return s().getItem(e)}e.exports={name:"localStorage",read:n,write:function(e,t){return s().setItem(e,t)},each:function(e){for(var t=s().length-1;0<=t;t--){var r=s().key(t);e(n(r),r)}},remove:function(e){return s().removeItem(e)},clearAll:function(){return s().clear()}}},3581:(e,t,r)=>{var i=r(6232),o=r(7264),l=r(189),h=r(2072),d=r(1831),c=i([].push);e.exports=function(e){if(l(e))return e;if(o(e)){for(var t=e.length,i=[],r=0;r{var i=r(6734),s=r(3700),r=r(4956).CONSTRUCTOR;e.exports=r||!s(function(e){i.all(e).then(void 0,function(){})})},3627:e=>{function t(e){if(e)return e=e,Object.assign(e,t.prototype),e._callbacks=new Map,e;this._callbacks=new Map}t.prototype.on=function(e,t){var r=this._callbacks.get(e)??[];return r.push(t),this._callbacks.set(e,r),this},t.prototype.once=function(t,r){let i=(...e)=>{this.off(t,i),r.apply(this,e)};return i.fn=r,this.on(t,i),this},t.prototype.off=function(e,t){if(void 0===e&&void 0===t)this._callbacks.clear();else if(void 0===t)this._callbacks.delete(e);else{var r=this._callbacks.get(e);if(r){for(var[i,s]of r.entries())if(s===t||s.fn===t){r.splice(i,1);break}0===r.length?this._callbacks.delete(e):this._callbacks.set(e,r)}}return this},t.prototype.emit=function(e,...t){var r,e=this._callbacks.get(e);if(e)for(r of[...e])r.apply(this,t);return this},t.prototype.listeners=function(e){return this._callbacks.get(e)??[]},t.prototype.listenerCount=function(e){if(e)return this.listeners(e).length;let t=0;for(var r of this._callbacks.values())t+=r.length;return t},t.prototype.hasListeners=function(e){return 0{r(2300);r=r(4767);e.exports=r("Array","includes")},3700:(e,t,r)=>{var s=r(7051)("iterator"),n=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){n=!0}};a[s]=function(){return this},Array.from(a,function(){throw 2})}catch(e){}e.exports=function(e,t){try{if(!t&&!n)return!1}catch(e){return!1}var r=!1;try{var i={};i[s]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(e){}return r}},3742:(e,t,r)=>{var i=r(8586),s=r(7501),n=i.Set,a=i.add;e.exports=function(e){var t=new n;return s(e,function(e){a(t,e)}),t}},3743:(e,t,r)=>{var i=r(6586),s=String,n=TypeError;e.exports=function(e){if(i(e))return e;throw new n(s(e)+" is not an object")}},3813:e=>{e.exports={}},3819:(e,t,r)=>{var n=r(4949),a=r(3743),o=r(6614);e.exports=function(e,t,r){var i,s;a(e);try{if(!(i=o(e,"return"))){if("throw"===t)throw r;return r}i=n(i,e)}catch(e){s=!0,i=e}if("throw"===t)throw r;if(s)throw i;return a(i),r}},3868:(F,N,e)=>{function U(t){c(d,a,function(){var e=t.facade;n?_.emit("rejectionHandled",e):D(te,e,t.value)})}var r,t,i,s,B=e(1118),$=e(2371),n=e(2822),a=e(2184),V=e(5639),c=e(4949),o=e(3232),l=e(9391),G=e(2967),j=e(9081),H=e(4354),h=e(189),z=e(6586),K=e(1772),Y=e(9053),d=e(1153).set,u=e(2619),W=e(829),q=e(2855),X=e(2545),f=e(1045),p=e(6734),g=e(4956),e=e(9427),m="Promise",v=g.CONSTRUCTOR,Q=g.REJECTION_EVENT,g=g.SUBCLASSING,y=f.getterFor(m),Z=f.set,f=p&&p.prototype,b=p,E=f,T=a.TypeError,S=a.document,_=a.process,A=e.f,J=A,ee=!!(S&&S.createEvent&&a.dispatchEvent),w="unhandledrejection",te="rejectionhandled",L=1,re=2,k=1,I=2,R=function(e){var t;return!(!z(e)||!h(t=e.then))&&t},C=function(e,t){var r,i,s,n=t.value,a=t.state===L,o=a?e.ok:e.fail,l=e.resolve,h=e.reject,d=e.domain;try{o?(a||(t.rejection===I&&U(t),t.rejection=k),!0===o?r=n:(d&&d.enter(),r=o(n),d&&(d.exit(),s=!0)),r===e.promise?h(new T("Promise-chain cycle")):(i=R(r))?c(i,r,l,h):l(r)):h(n)}catch(e){d&&!s&&d.exit(),h(e)}},P=function(r,i){r.notified||(r.notified=!0,u(function(){for(var e,t=r.reactions;e=t.get();)C(e,r);r.notified=!1,i&&!r.rejection&&ie(r)}))},D=function(e,t,r){var i;ee?((i=S.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),a.dispatchEvent(i)):i={promise:t,reason:r},!Q&&(t=a["on"+e])?t(i):e===w&&W("Unhandled promise rejection",r)},ie=function(i){c(d,a,function(){var e=i.facade,t=i.value,r=se(i);if(r&&(r=q(function(){n?_.emit("unhandledRejection",t,e):D(w,e,t)}),i.rejection=n||se(i)?I:k,r.error))throw r.value})},se=function(e){return e.rejection!==k&&!e.parent},x=function(t,r,i){return function(e){t(r,e,i)}},O=function(e,t,r){e.done||(e.done=!0,(e=r?r:e).value=t,e.state=re,P(e,!0))},M=function(r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(r.facade===e)throw new T("Promise can't be resolved itself");var i=R(e);i?u(function(){var t={done:!1};try{c(i,e,x(M,t,r),x(O,t,r))}catch(e){O(t,e,r)}}):(r.value=e,r.state=L,P(r,!1))}catch(e){O({done:!1},e,r)}}};if(v&&(E=(b=function(e){K(this,E),H(e),c(r,this);var t=y(this);try{e(x(M,t),x(O,t))}catch(e){O(t,e)}}).prototype,(r=function(e){Z(this,{type:m,done:!1,notified:!1,parent:!1,reactions:new X,rejection:!1,state:0,value:null})}).prototype=o(E,"then",function(e,t){var r=y(this),i=A(Y(this,b));return r.parent=!0,i.ok=!h(e)||e,i.fail=h(t)&&t,i.domain=n?_.domain:void 0,0===r.state?r.reactions.add(i):u(function(){C(i,r)}),i.promise}),t=function(){var e=new r,t=y(e);this.promise=e,this.resolve=x(M,t),this.reject=x(O,t)},e.f=A=function(e){return e===b||e===i?new t:J(e)},!$)&&h(p)&&f!==Object.prototype){s=f.then,g||o(f,"then",function(e,t){var r=this;return new b(function(e,t){c(s,r,e,t)}).then(e,t)},{unsafe:!0});try{delete f.constructor}catch(e){}l&&l(f,E)}B({global:!0,constructor:!0,wrap:!0,forced:v},{Promise:b}),i=V.Promise,G(b,m,!1,!0),j(m)},3875:(e,t,r)=>{r(9612)("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},r(3154))},3895:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},4111:(e,t,r)=>{r(9144),r(7995),r(8607),r(8530),r(12),r(5077),r(860),r(2419),r(7464),r(2410),r(5500);r=r(5639);e.exports=r.Set},4125:e=>{var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){e=+e;return(0{var i=r(2072),s=r(1773),n=r(8616).f,a=r(2344),o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){if(!o||"Window"!==i(e))return n(s(e));try{return n(e)}catch(e){return a(o)}}},4160:(e,t,r)=>{r(7303)("isConcatSpreadable")},4173:(e,t,r)=>{var i=r(7051),s=r(3264),r=r(2953).f,n=i("unscopables"),a=Array.prototype;void 0===a[n]&&r(a,n,{configurable:!0,value:s(null)}),e.exports=function(e){a[n][e]=!0}},4241:(e,t,r)=>{r(2309);r=r(5639);e.exports=r.Object.assign},4293:(e,t,r)=>{r=r(5791);e.exports=r("document","documentElement")},4324:(e,t,r)=>{var i=r(3895),s=r(6586),n=r(2072),a=r(9740),o=Object.isExtensible,r=i(function(){o(1)});e.exports=r||a?function(e){return!(!s(e)||a&&"ArrayBuffer"===n(e))&&(!o||o(e))}:o},4329:(e,t,r)=>{r(7303)("hasInstance")},4354:(e,t,r)=>{var i=r(189),s=r(5599),n=TypeError;e.exports=function(e){if(i(e))return e;throw new n(s(e)+" is not a function")}},4364:(e,t,r)=>{r(5500),r(4914);r=r(5639);e.exports=r.Array.from},4374:(e,t,r)=>{var s=r(4949),n=r(189),a=r(6586),o=TypeError;e.exports=function(e,t){var r,i;if("string"===t&&n(r=e.toString)&&!a(i=s(r,e)))return i;if(n(r=e.valueOf)&&!a(i=s(r,e)))return i;if("string"!==t&&n(r=e.toString)&&!a(i=s(r,e)))return i;throw new o("Can't convert object to primitive value")}},4441:e=>{e.exports=function(e,t){return{value:e,done:t}}},4542:(e,t,r)=>{var i=r(9542);e.exports=function(e){return i(e.length)}},4649:(e,t,r)=>{var i=r(1118),s=r(8533).find,r=r(4173),n="find",a=!0;n in[]&&Array(1)[n](function(){a=!1}),i({target:"Array",proto:!0,forced:a},{find:function(e){return s(this,e,1{var i=r(2184),s=r(6232);e.exports=function(e,t){return s(i[e].prototype[t])}},4814:(e,t,r)=>{r(7303)("unscopables")},4839:(e,t,r)=>{var r=r(6681),a=r.slice,o=r.pluck,l=r.each,h=r.bind,d=r.create,c=r.isList,u=r.isFunction,f=r.isObject,p={version:"2.0.12",enabled:!(e.exports={createStore:i}),get:function(e,t){e=this.storage.read(this._namespacePrefix+e);return this._deserialize(e,t)},set:function(e,t){return void 0===t?this.remove(e):(this.storage.write(this._namespacePrefix+e,this._serialize(t)),t)},remove:function(e){this.storage.remove(this._namespacePrefix+e)},each:function(r){var i=this;this.storage.each(function(e,t){r.call(i,i._deserialize(e),(t||"").replace(i._namespaceRegexp,""))})},clearAll:function(){this.storage.clearAll()},hasNamespace:function(e){return this._namespacePrefix=="__storejs_"+e+"_"},createStore:function(){return i.apply(this,arguments)},addPlugin:function(e){this._addPlugin(e)},namespace:function(e){return i(this.storage,this.plugins,e)}};function i(e,t,r){r=r||"",e&&!c(e)&&(e=[e]),t&&!c(t)&&(t=[t]);var i,s=r?"__storejs_"+r+"_":"",n=r?new RegExp("^"+s):null;if(/^[a-zA-Z0-9_\-]*$/.test(r))return(i=d({_namespacePrefix:s,_namespaceRegexp:n,_testStorage:function(e){try{var t="__storejs__test__",r=(e.write(t,t),e.read(t)===t);return e.remove(t),r}catch(e){return!1}},_assignPluginFnProp:function(i,e){var s=this[e];this[e]=function(){var r=a(arguments,0),e=this;var t=[function(){if(s)return l(arguments,function(e,t){r[t]=e}),s.apply(e,r)}].concat(r);return i.apply(e,t)}},_serialize:function(e){return JSON.stringify(e)},_deserialize:function(t,e){if(!t)return e;var r="";try{r=JSON.parse(t)}catch(e){r=t}return void 0!==r?r:e},_addStorage:function(e){this.enabled||this._testStorage(e)&&(this.storage=e,this.enabled=!0)},_addPlugin:function(r){var i=this;if(c(r))l(r,function(e){i._addPlugin(e)});else{var e=o(this.plugins,function(e){return r===e});if(!e){if(this.plugins.push(r),!u(r))throw new Error("Plugins must be function values that return objects");e=r.call(this);if(!f(e))throw new Error("Plugins must return an object of function properties");l(e,function(e,t){if(!u(e))throw new Error("Bad plugin property: "+t+" from plugin "+r.name+". Plugins should only return functions.");i._assignPluginFnProp(e,t)})}}},addStorage:function(e){!function(){var e="undefined"==typeof console?null:console;e&&(e.warn||e.log).apply(e,arguments)}("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(e)}},p,{plugins:[]})).raw={},l(i,function(e,t){u(e)&&(i.raw[t]=h(i,e))}),l(e,function(e){i._addStorage(e)}),l(t,function(e){i._addPlugin(e)}),i;throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes")}},4861:e=>{e.exports=function(e){return null==e}},4897:(e,t,r)=>{function s(e,t){var r,i=n(b,this);return o?r=o(new v,i?a(this):b):(r=i?this:h(b),d(r,m,"Error")),void 0!==t&&d(r,"message",g(t)),f(r,s,r.stack,1),2{var i=r(1118),s=r(3076);i({target:"Array",stat:!0,forced:!r(3700)(function(e){Array.from(e)})},{from:s})},4949:(e,t,r)=>{var r=r(8688),i=Function.prototype.call;e.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},4956:(e,t,r)=>{var i=r(2184),s=r(6734),n=r(189),a=r(5412),o=r(1122),l=r(7051),h=r(3183),d=r(2371),c=r(9479),u=s&&s.prototype,f=l("species"),p=!1,g=n(i.PromiseRejectionEvent),r=a("Promise",function(){var e=o(s),t=e!==String(s);if(!t&&66===c)return!0;if(d&&(!u.catch||!u.finally))return!0;if(!c||c<51||!/native code/.test(e)){var e=new s(function(e){e(1)}),r=function(e){e(function(){},function(){})};if((e.constructor={})[f]=r,!(p=e.then(function(){})instanceof r))return!0}return!(t||"BROWSER"!==h&&"DENO"!==h||g)});e.exports={CONSTRUCTOR:r,REJECTION_EVENT:g,SUBCLASSING:p}},4964:(e,t,r)=>{var l=r(473),h=r(1023),d=r(8443),c=r(2953);e.exports=function(e,t,r){for(var i=h(t),s=c.f,n=d.f,a=0;a{var i=r(1118),s=r(8313);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("isDisjointFrom",function(e){return!e})},{isDisjointFrom:s})},5115:(e,t,r)=>{var i=r(3895),s=r(668);e.exports=!i(function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",s(1,7)),7!==e.stack)})},5269:(e,t,r)=>{var i=r(2371),s=r(2184),r=r(497),n="__core-js_shared__",e=e.exports=s[n]||r(n,{});(e.versions||(e.versions=[])).push({version:"3.45.1",mode:i?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.45.1/LICENSE",source:"https://github.com/zloirock/core-js"})},5316:(e,t,r)=>{var i=r(8640),s=r(8586).add,n=r(3742),a=r(885),o=r(8291);e.exports=function(e){var t=i(this),e=a(e).getIterator(),r=n(t);return o(e,function(e){s(r,e)}),r}},5334:(e,t,r)=>{var i=r(1118),u=r(4949),f=r(4354),s=r(5791),n=r(9427),a=r(2855),p=r(1332),r=r(3601),g="No one promise resolved";i({target:"Promise",stat:!0,forced:r},{any:function(e){var l=this,h=s("AggregateError"),t=n.f(l),d=t.resolve,c=t.reject,r=a(function(){var i=f(l.resolve),s=[],n=0,a=1,o=!1;p(e,function(e){var t=n++,r=!1;a++,u(i,l,e).then(function(e){r||o||(o=!0,d(e))},function(e){r||o||(r=!0,s[t]=e,--a)||c(new h(s,g))})}),--a||c(new h(s,g))});return r.error&&c(r.value),t.promise}})},5397:(e,t,r)=>{var i=r(2184),s=r(484),n=Object.getOwnPropertyDescriptor;e.exports=function(e){var t;return s?(t=n(i,e))&&t.value:i[e]}},5412:(e,t,r)=>{function i(e,t){return(e=l[o(e)])===d||e!==h&&(n(t)?s(t):!!t)}var s=r(3895),n=r(189),a=/#|\.prototype\./,o=i.normalize=function(e){return String(e).replace(a,".").toLowerCase()},l=i.data={},h=i.NATIVE="N",d=i.POLYFILL="P";e.exports=i},5424:(e,t,r)=>{var r=r(6232),i=Map.prototype;e.exports={Map:Map,set:r(i.set),get:r(i.get),has:r(i.has),remove:r(i.delete),proto:i}},5453:(e,t,r)=>{var i=r(3895),s=r(7051),n=r(9479),a=s("species");e.exports=function(t){return 51<=n||!i(function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo})}},5467:(e,t,r)=>{r(641),r(6270),r(3452),r(1966),r(6421)},5500:(e,t,r)=>{var i=r(5663).charAt,s=r(1831),n=r(1045),a=r(3448),o=r(4441),l="String Iterator",h=n.set,d=n.getterFor(l);a(String,"String",function(e){h(this,{type:l,string:s(e),index:0})},function(){var e=d(this),t=e.string,r=e.index;return r>=t.length?o(void 0,!0):(t=i(t,r),e.index+=t.length,o(t,!1))})},5599:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},5639:(e,t,r)=>{r=r(2184);e.exports=r},5663:(e,t,r)=>{function i(s){return function(e,t){var r,e=a(o(e)),t=n(t),i=e.length;return t<0||i<=t?s?"":void 0:(r=h(e,t))<55296||56319{var i=r(1118),d=r(4949),c=r(4354),s=r(9427),n=r(2855),u=r(1332);i({target:"Promise",stat:!0,forced:r(3601)},{all:function(e){var o=this,t=s.f(o),l=t.resolve,h=t.reject,r=n(function(){var i=c(o.resolve),s=[],n=0,a=1;u(e,function(e){var t=n++,r=!1;a++,d(i,o,e).then(function(e){r||(r=!0,s[t]=e,--a)||l(s)},h)}),--a||l(s)});return r.error&&h(r.value),t.promise}})},5712:(e,t,r)=>{var r=r(6681),i=r.Global,n=r.trim,a=(e.exports={name:"cookieStorage",read:function(e){return e&&l(e)?(e="(?:^|.*;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*",unescape(a.cookie.replace(new RegExp(e),"$1"))):null},write:function(e,t){e&&(a.cookie=escape(e)+"="+escape(t)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")},each:s,remove:o,clearAll:function(){s(function(e,t){o(t)})}},i.document);function s(e){for(var t,r,i=a.cookie.split(/; ?/g),s=i.length-1;0<=s;s--)n(i[s])&&(t=i[s].split("="),r=unescape(t[0]),e(unescape(t[1]),r))}function o(e){e&&l(e)&&(a.cookie=escape(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function l(e){return new RegExp("(?:^|;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(a.cookie)}},5743:(e,t,r)=>{r(4649);r=r(4767);e.exports=r("Array","find")},5791:(e,t,r)=>{var i=r(2184),s=r(189);e.exports=function(e,t){return arguments.length<2?(r=i[e],s(r)?r:void 0):i[e]&&i[e][t];var r}},5871:(e,t,r)=>{var i=r(2184),r=r(6586),s=i.document,n=r(s)&&r(s.createElement);e.exports=function(e){return n?s.createElement(e):{}}},5965:(e,t)=>{t.f=Object.getOwnPropertySymbols},6017:(e,t,r)=>{var i=r(7264),s=r(6261),n=r(6586),a=r(7051)("species"),o=Array;e.exports=function(e){var t;return void 0===(t=i(e)&&(t=e.constructor,s(t)&&(t===o||i(t.prototype))||n(t)&&null===(t=t[a]))?void 0:t)?o:t}},6230:(e,t,r)=>{var s=r(8640),i=r(8586),n=r(2266),a=r(885),o=r(7501),l=r(8291),h=i.Set,d=i.add,c=i.has;e.exports=function(e){var t=s(this),r=a(e),i=new h;return n(t)>r.size?l(r.getIterator(),function(e){c(t,e)&&d(i,e)}):o(t,function(e){r.includes(e)&&d(i,e)}),i}},6232:(e,t,r)=>{var r=r(8688),i=Function.prototype,s=i.call,i=r&&i.bind.bind(s,s);e.exports=r?i:function(e){return function(){return s.apply(e,arguments)}}},6261:(e,t,r)=>{function i(){}function s(e){if(!l(e))return!1;try{return u(i,[],e),!0}catch(e){return!1}}function n(e){if(!l(e))return!1;switch(h(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return g||!!p(f,c(e))}catch(e){return!0}}var a=r(6232),o=r(3895),l=r(189),h=r(1651),d=r(5791),c=r(1122),u=d("Reflect","construct"),f=/^\s*(?:class|function)\b/,p=a(f.exec),g=!f.test(i);n.sham=!0,e.exports=!u||o(function(){var e;return s(s.call)||!s(Object)||!s(function(){e=!0})||e})?n:s},6270:(e,t,r)=>{var i=r(1118),s=r(5791),n=r(473),a=r(1831),o=r(7273),r=r(8040),l=o("string-to-symbol-registry"),h=o("symbol-to-string-registry");i({target:"Symbol",stat:!0,forced:!r},{for:function(e){var t,e=a(e);return n(l,e)?l[e]:(t=s("Symbol")(e),l[e]=t,h[t]=e,t)}})},6421:(e,t,r)=>{var i=r(1118),s=r(7607),n=r(3895),a=r(5965),o=r(7149);i({target:"Object",stat:!0,forced:!s||n(function(){a.f(1)})},{getOwnPropertySymbols:function(e){var t=a.f;return t?t(o(e)):[]}})},6433:(e,t,r)=>{r=r(6232);e.exports=r({}.isPrototypeOf)},6460:(e,t,r)=>{var i=r(1118),s=r(9427);i({target:"Promise",stat:!0},{withResolvers:function(){var e=s.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}})},6524:(e,t,r)=>{r(7303)("match")},6568:(e,t,r)=>{var s=r(8640),i=r(8586),n=r(3742),a=r(2266),o=r(885),l=r(7501),h=r(8291),d=i.has,c=i.remove;e.exports=function(e){var t=s(this),r=o(e),i=n(t);return a(t)<=r.size?l(t,function(e){r.includes(e)&&c(i,e)}):h(r.getIterator(),function(e){d(i,e)&&c(i,e)}),i}},6575:(e,t,r)=>{var i,s,n,a,o,l,h,d=r(1118),c=r(484),u=r(2184),f=r(6232),p=r(473),g=r(189),m=r(6433),v=r(1831),y=r(2770),r=r(4964),b=u.Symbol,E=b&&b.prototype;!c||!g(b)||"description"in E&&void 0===b().description||(i={},r(u=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:v(arguments[0]),t=m(E,this)?new b(e):void 0===e?b():b(e);return""===e&&(i[t]=!0),t},b),(u.prototype=E).constructor=u,s="Symbol(description detection)"===String(b("description detection")),n=f(E.valueOf),a=f(E.toString),o=/^Symbol\((.*)\)[^)]+$/,l=f("".replace),h=f("".slice),y(E,"description",{configurable:!0,get:function(){var e=n(this);return p(i,e)?"":(e=a(e),""===(e=s?h(e,7,-1):l(e,o,"$1"))?void 0:e)}}),d({global:!0,constructor:!0,forced:!0},{Symbol:u}))},6586:(e,t,r)=>{var i=r(189);e.exports=function(e){return"object"==typeof e?null!==e:i(e)}},6588:(e,t,r)=>{function n(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}}function a(e){return{size:e,has:function(){return!0},keys:function(){throw new Error("e")}}}var o=r(5791);e.exports=function(t,r){var i=o("Set");try{(new i)[t](n(0));try{return(new i)[t](n(-1)),!1}catch(e){if(!r)return!0;try{return(new i)[t](a(-1/0)),!1}catch(e){var s=new i;return s.add(1),s.add(2),r(s[t](a(1/0)))}}}catch(e){return!1}}},6589:e=>{e.exports={}},6614:(e,t,r)=>{var i=r(4354),s=r(4861);e.exports=function(e,t){e=e[t];return s(e)?void 0:i(e)}},6681:(e,t,r)=>{var a=Object.assign||function(r,e,t,i){for(var s=1;s{function n(){}return Object.create?function(e,t,r,i){var s=o(arguments,1);return a.apply(this,[Object.create(e)].concat(s))}:function(e,t,r,i){var s=o(arguments,1);return n.prototype=e,a.apply(this,[new n].concat(s))}})(),s=String.prototype.trim?function(e){return String.prototype.trim.call(e)}:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},r="undefined"!=typeof window?window:r.g;function o(e,t){return Array.prototype.slice.call(e,t||0)}function n(e,r){l(e,function(e,t){r(e,t)})}function l(e,t){if(h(e)){for(var r=0;r{r=r(2184);e.exports=r.Promise},6810:(e,t,r)=>{var i=r(8640),s=r(8586),n=r(3742),a=r(885),o=r(8291),l=s.add,h=s.has,d=s.remove;e.exports=function(e){var t=i(this),e=a(e).getIterator(),r=n(t);return o(e,function(e){(h(t,e)?d:l)(r,e)}),r}},6923:(e,t,r)=>{var i=r(473),s=r(189),n=r(7149),a=r(9919),r=r(8907),o=a("IE_PROTO"),l=Object,h=l.prototype;e.exports=r?l.getPrototypeOf:function(e){var t,e=n(e);return i(e,o)?e[o]:(t=e.constructor,s(t)&&e instanceof t?t.prototype:e instanceof l?h:null)}},6925:(e,t,r)=>{r(9612)("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},r(3154))},7051:(e,t,r)=>{var i=r(2184),s=r(7273),n=r(473),a=r(2936),o=r(7607),r=r(9240),l=i.Symbol,h=s("wks"),d=r?l.for||l:l&&l.withoutSetter||a;e.exports=function(e){return n(h,e)||(h[e]=o&&n(l,e)?l[e]:d("Symbol."+e)),h[e]}},7149:(e,t,r)=>{var i=r(8574),s=Object;e.exports=function(e){return s(i(e))}},7188:e=>{var r=TypeError;e.exports=function(e,t){if(e{var i=r(6586);e.exports=function(e){return i(e)||null===e}},7264:(e,t,r)=>{var i=r(2072);e.exports=Array.isArray||function(e){return"Array"===i(e)}},7273:(e,t,r)=>{var i=r(5269);e.exports=function(e,t){return i[e]||(i[e]=t||{})}},7303:(e,t,r)=>{var i=r(5639),s=r(473),n=r(407),a=r(2953).f;e.exports=function(e){var t=i.Symbol||(i.Symbol={});s(t,e)||a(t,e,{value:n.f(e)})}},7309:(e,t)=>{var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,s=i&&!r.call({1:2},1);t.f=s?function(e){e=i(this,e);return!!e&&e.enumerable}:r},7314:e=>{function s(e){return!(!(t=e)||"object"!=typeof t||(t=e,"[object RegExp]"===(e=Object.prototype.toString.call(t)))||"[object Date]"===e||(e=>e.$$typeof===r)(t));var t}var r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(e,t){return!1!==t.clone&&t.isMergeableObject(e)?h(Array.isArray(e)?[]:{},e,t):e}function n(e,t,r){return e.concat(t).map(function(e){return o(e,r)})}function t(e){return Object.keys(e).concat((t=e,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[]));var t}function l(e,t){try{return t in e}catch(e){return!1}}function a(i,s,n){var a={};return n.isMergeableObject(i)&&t(i).forEach(function(e){a[e]=o(i[e],n)}),t(s).forEach(function(e){var t,r;(!l(t=i,r=e)||Object.hasOwnProperty.call(t,r)&&Object.propertyIsEnumerable.call(t,r))&&(l(i,e)&&n.isMergeableObject(s[e])?a[e]=(t=e,((r=n).customMerge&&"function"==typeof(r=r.customMerge(t))?r:h)(i[e],s[e],n)):a[e]=o(s[e],n))}),a}function h(e,t,r){(r=r||{}).arrayMerge=r.arrayMerge||n,r.isMergeableObject=r.isMergeableObject||s,r.cloneUnlessOtherwiseSpecified=o;var i=Array.isArray(t);return i===Array.isArray(e)?i?r.arrayMerge(e,t,r):a(e,t,r):o(t,r)}h.all=function(e,r){if(Array.isArray(e))return e.reduce(function(e,t){return h(e,t,r)},{});throw new Error("first argument should be an array")},e.exports=h},7318:(e,t,r)=>{var i=r(484),r=r(3895);e.exports=i&&r(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},7408:(e,t,r)=>{var i=r(1118),s=r(5791),n=r(2371),a=r(6734),o=r(4956).CONSTRUCTOR,l=r(9590),h=s("Promise"),d=n&&!o;i({target:"Promise",stat:!0,forced:n||o},{resolve:function(e){return l(d&&this===h?a:this,e)}})},7464:(e,t,r)=>{var i=r(1118),s=r(6810),n=r(419);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("symmetricDifference")||!n("symmetricDifference")},{symmetricDifference:s})},7489:(e,t,r)=>{r(9144),r(7715),r(8840),r(7995),r(5500);r=r(5639);e.exports=r.Map},7501:(e,t,r)=>{var i=r(6232),s=r(8291),r=r(8586),n=r.Set,r=r.proto,a=i(r.forEach),o=i(r.keys),l=o(new n).next;e.exports=function(e,t,r){return r?s({iterator:o(e),next:l},t):a(e,t)}},7528:(e,t,r)=>{var i=r(6586),s=r(8227);e.exports=function(e,t){i(t)&&"cause"in t&&s(e,"cause",t.cause)}},7580:(e,t,r)=>{var i=r(6232),a=r(473),o=r(1773),l=r(1273).indexOf,h=r(6589),d=i([].push);e.exports=function(e,t){var r,i=o(e),s=0,n=[];for(r in i)!a(h,r)&&a(i,r)&&d(n,r);for(;t.length>s;)!a(i,r=t[s++])||~l(n,r)||d(n,r);return n}},7607:(e,t,r)=>{var i=r(9479),s=r(3895),n=r(2184).String;e.exports=!!Object.getOwnPropertySymbols&&!s(function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&i&&i<41})},7682:(e,t,r)=>{var i=r(2883),s=Math.max,n=Math.min;e.exports=function(e,t){e=i(e);return e<0?s(e+t,0):n(e,t)}},7715:(e,t,r)=>{r(3875)},7729:(e,t,r)=>{var i=r(7777),s=r(8797);e.exports=function(e){e=i(e,"string");return s(e)?e:e+""}},7744:e=>{var n="expire_mixin";e.exports=function(){var s=this.createStore(this.storage,null,this._namespacePrefix+n);return{set:function(e,t,r,i){this.hasNamespace(n)||s.set(t,i);return e()},get:function(e,t){this.hasNamespace(n)||i.call(this,t);return e()},remove:function(e,t){this.hasNamespace(n)||s.remove(t);return e()},getExpiration:function(e,t){return s.get(t)},removeExpiredKeys:function(e){var r=[];this.each(function(e,t){r.push(t)});for(var t=0;t{var i,s,n=r(3895),a=r(189),o=r(6586),l=r(3264),h=r(6923),d=r(3232),c=r(7051),r=r(2371),u=c("iterator"),c=!1;[].keys&&("next"in(s=[].keys())?(h=h(h(s)))!==Object.prototype&&(i=h):c=!0),!o(i)||n(function(){var e={};return i[u].call(e)!==e})?i={}:r&&(i=l(i)),a(i[u])||d(i,u,function(){return this}),e.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:c}},7777:(e,t,r)=>{var i=r(4949),s=r(6586),n=r(8797),a=r(6614),o=r(4374),r=r(7051),l=TypeError,h=r("toPrimitive");e.exports=function(e,t){if(!s(e)||n(e))return e;var r=a(e,h);if(r){if(r=i(r,e,t=void 0===t?"default":t),!s(r)||n(r))return r;throw new l("Can't convert object to primitive value")}return o(e,t=void 0===t?"number":t)}},7787:(e,t,r)=>{var i=r(1651),s=r(6614),n=r(4861),a=r(3813),o=r(7051)("iterator");e.exports=function(e){if(!n(e))return s(e,o)||s(e,"@@iterator")||a[i(e)]}},7850:(e,t,r)=>{var i=r(7197),s=String,n=TypeError;e.exports=function(e){if(i(e))return e;throw new n("Can't set "+s(e)+" as a prototype")}},7877:(e,t,r)=>{var i=r(5791),s=r(7303),r=r(2967);s("toStringTag"),r(i("Symbol"),"Symbol")},7897:(e,t,r)=>{var r=r(6232),i=Error,s=r("".replace),r=String(new i("zxcasd").stack),n=/\n\s*at [^:]*:[^\n]*/,a=n.test(r);e.exports=function(e,t){if(a&&"string"==typeof e&&!i.prepareStackTrace)for(;t--;)e=s(e,n,"");return e}},7985:(e,t,r)=>{r(7303)("search")},7995:(e,t,r)=>{var i=r(8964),s=r(3232),r=r(3491);i||s(Object.prototype,"toString",r,{unsafe:!0})},8008:(e,t,r)=>{var i=r(484),s=r(2953),n=r(668);e.exports=function(e,t,r){i?s.f(e,t,n(0,r)):e[t]=r}},8040:(e,t,r)=>{r=r(7607);e.exports=r&&!!Symbol.for&&!!Symbol.keyFor},8227:(e,t,r)=>{var i=r(484),s=r(2953),n=r(668);e.exports=i?function(e,t,r){return s.f(e,t,n(1,r))}:function(e,t,r){return e[t]=r,e}},8291:(e,t,r)=>{var a=r(4949);e.exports=function(e,t,r){for(var i,s=r?e:e.iterator,n=e.next;!(i=a(n,s)).done;)if(void 0!==(i=t(i.value)))return i}},8313:(e,t,r)=>{var s=r(8640),n=r(8586).has,a=r(2266),o=r(885),l=r(7501),h=r(8291),d=r(3819);e.exports=function(e){var t,r=s(this),i=o(e);return a(r)<=i.size?!1!==l(r,function(e){if(i.includes(e))return!1},!0):(t=i.getIterator(),!1!==h(t,function(e){if(n(r,e))return d(t,"normal",!1)}))}},8316:(e,t,r)=>{var i=r(2072),s=r(6232);e.exports=function(e){if("Function"===i(e))return s(e)}},8438:(e,t,r)=>{r(2651),r(9144),r(7995),r(9082),r(2687),r(5334),r(1361),r(6460),r(8855),r(5500);r=r(5639);e.exports=r.Promise},8443:(e,t,r)=>{var i=r(484),s=r(4949),n=r(7309),a=r(668),o=r(1773),l=r(7729),h=r(473),d=r(1349),c=Object.getOwnPropertyDescriptor;t.f=i?c:function(e,t){if(e=o(e),t=l(t),d)try{return c(e,t)}catch(e){}if(h(e,t))return a(!s(n.f,e,t),e[t])}},8463:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8496:(e,t,r)=>{r=r(9839);e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},8530:(e,t,r)=>{var i=r(1118),s=r(6568),n=r(3895);i({target:"Set",proto:!0,real:!0,forced:!r(6588)("difference",function(e){return 0===e.size})||n(function(){var e={size:1,has:function(){return!0},keys:function(){var t=0;return{next:function(){var e=1{function i(u){var f=1===u,p=2===u,g=3===u,m=4===u,v=6===u,y=7===u,b=5===u||v;return function(e,t,r,i){for(var s,n,a=S(e),o=T(a),l=_(o),h=E(t,r),d=0,t=i||A,c=f?t(e,l):p||y?t(e,0):void 0;d{var i=r(4861),s=TypeError;e.exports=function(e){if(i(e))throw new s("Can't call method on "+e);return e}},8586:(e,t,r)=>{var r=r(6232),i=Set.prototype;e.exports={Set:Set,add:r(i.add),has:r(i.has),remove:r(i.delete),proto:i}},8607:(e,t,r)=>{r(6925)},8616:(e,t,r)=>{var i=r(7580),s=r(8463).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return i(e,s)}},8633:(e,t,r)=>{var i=r(7051),s=r(3813),n=i("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(s.Array===e||a[n]===e)}},8640:(e,t,r)=>{var i=r(8586).has;e.exports=function(e){return i(e),e}},8688:(e,t,r)=>{r=r(3895);e.exports=!r(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})},8719:e=>{e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},8785:(e,t,r)=>{var i=r(1118),s=r(9427);i({target:"Promise",stat:!0,forced:r(4956).CONSTRUCTOR},{reject:function(e){var t=s.f(this);return(0,t.reject)(e),t.promise}})},8797:(e,t,r)=>{var i=r(5791),s=r(189),n=r(6433),r=r(9240),a=Object;e.exports=r?function(e){return"symbol"==typeof e}:function(e){var t=i("Symbol");return s(t)&&n(t.prototype,a(e))}},8840:(e,t,r)=>{var i=r(1118),s=r(6232),n=r(4354),a=r(8574),o=r(1332),l=r(5424),h=r(2371),r=r(3895),d=l.Map,c=l.has,u=l.get,f=l.set,p=s([].push),l=h||r(function(){return 1!==d.groupBy("ab",function(e){return e}).get("a").length});i({target:"Map",stat:!0,forced:h||l},{groupBy:function(e,r){a(e),n(r);var i=new d,s=0;return o(e,function(e){var t=r(e,s++);c(i,t)?p(u(i,t),e):f(i,t,[e])}),i}})},8855:(e,t,r)=>{var i=r(1118),s=r(2371),n=r(6734),a=r(3895),o=r(5791),l=r(189),h=r(9053),d=r(9590),r=r(3232),c=n&&n.prototype;i({target:"Promise",proto:!0,real:!0,forced:!!n&&a(function(){c.finally.call({then:function(){}},function(){})})},{finally:function(t){var r=h(this,o("Promise")),e=l(t);return this.then(e?function(e){return d(r,t()).then(function(){return e})}:t,e?function(e){return d(r,t()).then(function(){throw e})}:t)}}),!s&&l(n)&&(i=o("Promise").prototype.finally,c.finally!==i)&&r(c,"finally",i,{unsafe:!0})},8903:(e,t,r)=>{var s=r(3743),n=r(3819);e.exports=function(t,e,r,i){try{return i?e(s(r)[0],r[1]):e(r)}catch(e){n(t,"throw",e)}}},8907:(e,t,r)=>{r=r(3895);e.exports=!r(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},8964:(e,t,r)=>{var i={};i[r(7051)("toStringTag")]="z",e.exports="[object z]"===String(i)},9027:(e,t,r)=>{r(7303)("species")},9053:(e,t,r)=>{var i=r(3743),s=r(9332),n=r(4861),a=r(7051)("species");e.exports=function(e,t){var e=i(e).constructor;return void 0===e||n(e=i(e)[a])?t:s(e)}},9063:(e,t,r)=>{r(2967)(Math,"Math",!0)},9064:(e,t,r)=>{var i=r(1118),s=r(2184),r=r(2967);i({global:!0},{Reflect:{}}),r(s.Reflect,"Reflect",!0)},9081:(e,t,r)=>{var i=r(5791),s=r(2770),n=r(7051),a=r(484),o=n("species");e.exports=function(e){e=i(e);a&&e&&!e[o]&&s(e,o,{configurable:!0,get:function(){return this}})}},9082:(e,t,r)=>{r(3868),r(5675),r(827),r(9975),r(8785),r(7408)},9141:(e,t,r)=>{var i=r(6017);e.exports=function(e,t){return new(i(e))(0===t?0:t)}},9144:(e,t,r)=>{var i=r(1773),s=r(4173),n=r(3813),a=r(1045),o=r(2953).f,l=r(3448),h=r(4441),d=r(2371),r=r(484),c="Array Iterator",u=a.set,f=a.getterFor(c),a=(e.exports=l(Array,"Array",function(e,t){u(this,{type:c,target:i(e),index:0,kind:t})},function(){var e=f(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,h(void 0,!0);switch(e.kind){case"keys":return h(r,!1);case"values":return h(t[r],!1)}return h([r,t[r]],!1)},"values"),n.Arguments=n.Array);if(s("keys"),s("values"),s("entries"),!d&&r&&"values"!==a.name)try{o(a,"name",{value:"values"})}catch(e){}},9231:(e,t,r)=>{var s=r(3232);e.exports=function(e,t,r){for(var i in t)s(e,i,t[i],r);return e}},9240:(e,t,r)=>{r=r(7607);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},9332:(e,t,r)=>{var i=r(6261),s=r(5599),n=TypeError;e.exports=function(e){if(i(e))return e;throw new n(s(e)+" is not a constructor")}},9363:(e,t,r)=>{var i=r(6232),s=r(3895),n=r(189),a=r(473),o=r(484),l=r(678).CONFIGURABLE,h=r(1122),r=r(1045),d=r.enforce,c=r.get,u=String,f=Object.defineProperty,p=i("".slice),g=i("".replace),m=i([].join),v=o&&!s(function(){return 8!==f(function(){},"length",{value:8}).length}),y=String(String).split("String"),r=e.exports=function(e,t,r){"Symbol("===p(u(t),0,7)&&(t="["+g(u(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!a(e,"name")||l&&e.name!==t)&&(o?f(e,"name",{value:t,configurable:!0}):e.name=t),v&&r&&a(r,"arity")&&e.length!==r.arity&&f(e,"length",{value:r.arity});try{r&&a(r,"constructor")&&r.constructor?o&&f(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}r=d(e);return a(r,"source")||(r.source=m(y,"string"==typeof t?t:"")),e};Function.prototype.toString=r(function(){return n(this)&&c(this).source||h(this)},"toString")},9391:(e,t,r)=>{var s=r(2138),n=r(6586),a=r(8574),o=r(7850);e.exports=Object.setPrototypeOf||("__proto__"in{}?(()=>{var r,i=!1,e={};try{(r=s(Object.prototype,"__proto__","set"))(e,[]),i=e instanceof Array}catch(e){}return function(e,t){return a(e),o(t),n(e)&&(i?r(e,t):e.__proto__=t),e}})():void 0)},9427:(e,t,r)=>{function i(e){var r,i;this.promise=new e(function(e,t){if(void 0!==r||void 0!==i)throw new n("Bad Promise constructor");r=e,i=t}),this.resolve=s(r),this.reject=s(i)}var s=r(4354),n=TypeError;e.exports.f=function(e){return new i(e)}},9450:(e,t,r)=>{var i=r(1118),s=r(3895),c=r(7264),u=r(6586),f=r(7149),p=r(4542),g=r(157),m=r(8008),v=r(9141),n=r(5453),a=r(7051),r=r(9479),y=a("isConcatSpreadable"),a=51<=r||!s(function(){var e=[];return e[y]=!1,e.concat()[0]!==e});i({target:"Array",proto:!0,arity:1,forced:!a||!n("concat")},{concat:function(e){for(var t,r,i,s,n,a=f(this),o=v(a,0),l=0,h=-1,d=arguments.length;h{var i=r(6232),s=r(3895),n=r(2072),a=Object,o=i("".split);e.exports=s(function(){return!a("z").propertyIsEnumerable(0)})?function(e){return"String"===n(e)?o(e,""):a(e)}:a},9479:(e,t,r)=>{var i,s,n=r(2184),r=r(9839),a=n.process,n=n.Deno,a=a&&a.versions||n&&n.version,n=a&&a.v8;!(s=n?0<(i=n.split("."))[0]&&i[0]<4?1:+(i[0]+i[1]):s)&&r&&(!(i=r.match(/Edge\/(\d+)/))||74<=i[1])&&(i=r.match(/Chrome\/(\d+)/))&&(s=+i[1]),e.exports=s},9542:(e,t,r)=>{var i=r(2883),s=Math.min;e.exports=function(e){e=i(e);return 0{var i=r(3743),s=r(6586),n=r(9427);e.exports=function(e,t){return i(e),s(t)&&t.constructor===e?t:((0,(e=n.f(e)).resolve)(t),e.promise)}},9612:(e,t,r)=>{var m=r(1118),v=r(2184),y=r(6232),b=r(5412),E=r(3232),T=r(355),S=r(1332),_=r(1772),A=r(189),w=r(4861),L=r(6586),k=r(3895),I=r(3700),R=r(2967),C=r(1655);e.exports=function(e,t,r){function i(e){var r=y(f[e]);E(f,e,"add"===e?function(e){return r(this,0===e?0:e),this}:"delete"===e?function(e){return!(d&&!L(e))&&r(this,0===e?0:e)}:"get"===e?function(e){return d&&!L(e)?void 0:r(this,0===e?0:e)}:"has"===e?function(e){return!(d&&!L(e))&&r(this,0===e?0:e)}:function(e,t){return r(this,0===e?0:e,t),this})}var s,n,a,o,l,h=-1!==e.indexOf("Map"),d=-1!==e.indexOf("Weak"),c=h?"set":"add",u=v[e],f=u&&u.prototype,p=u,g={};return b(e,!A(u)||!(d||f.forEach&&!k(function(){(new u).entries().next()})))?(p=r.getConstructor(t,e,h,c),T.enable()):b(e,!0)&&(n=(s=new p)[c](d?{}:-0,1)!==s,a=k(function(){s.has(1)}),o=I(function(e){new u(e)}),l=!d&&k(function(){for(var e=new u,t=5;t--;)e[c](t,t);return!e.has(-0)}),o||(((p=t(function(e,t){_(e,f);e=C(new u,e,p);return w(t)||S(t,e[c],{that:e,AS_ENTRIES:h}),e})).prototype=f).constructor=p),(a||l)&&(i("delete"),i("has"),h)&&i("get"),(l||n)&&i(c),d)&&f.clear&&delete f.clear,m({global:!0,constructor:!0,forced:(g[e]=p)!==u},g),R(p,e),d||r.setStrong(p,e,h),p}},9700:(e,t,r)=>{var i=r(2184),s=r(7303),n=r(2953).f,r=r(8443).f,i=i.Symbol;s("dispose"),i&&(s=r(i,"dispose")).enumerable&&s.configurable&&s.writable&&n(i,"dispose",{value:s.value,enumerable:!1,configurable:!1,writable:!1})},9740:(e,t,r)=>{r=r(3895);e.exports=r(function(){var e;"function"==typeof ArrayBuffer&&(e=new ArrayBuffer(8),Object.isExtensible(e))&&Object.defineProperty(e,"a",{value:8})})},9767:(e,t,r)=>{r(1635);r=r(5639);e.exports=r.Object.hasOwn},9800:(e,t,r)=>{var i=r(7580),s=r(8463);e.exports=Object.keys||function(e){return i(e,s)}},9839:(e,t,r)=>{r=r(2184).navigator,r=r&&r.userAgent;e.exports=r?String(r):""},9915:(e,t,r)=>{r(7303)("iterator")},9919:(e,t,r)=>{var i=r(7273),s=r(2936),n=i("keys");e.exports=function(e){return n[e]||(n[e]=s(e))}},9975:(e,t,r)=>{var i=r(1118),n=r(4949),a=r(4354),o=r(9427),l=r(2855),h=r(1332);i({target:"Promise",stat:!0,forced:r(3601)},{race:function(e){var r=this,i=o.f(r),s=i.reject,t=l(function(){var t=a(r.resolve);h(e,function(e){n(t,r,e).then(i.resolve,s)})});return t.error&&s(t.value),i.promise}})}},i={};function Vs(e){var t=i[e];return void 0!==t||(t=i[e]={exports:{}},r[e].call(t.exports,t,t.exports,Vs)),t.exports}Vs.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return Vs.d(t,{a:t}),t},Vs.d=(e,t)=>{for(var r in t)Vs.o(t,r)&&!Vs.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},Vs.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),Vs.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Vs.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};{var Gs={};Vs.r(Gs),Vs.d(Gs,{createStorage:()=>ee}),Vs(4364),Vs(5743),Vs(3681),Vs(4241),Vs(9767),Vs(8438),Vs(7489),Vs(4111),Vs(73),Vs(1071);class $u{get smartAutoPlay(){return this.instance.inSmartAutoPlay}constructor(e){this.instance=e,this.video={currentTime:0},this.analytics={player:{options:{id:this.instance.config.id}}},this.instance.addEventListener("video:timeupdate",e=>{this.video.currentTime=e.detail.time})}on(e,t){"timeupdate"===e&&this.instance.addEventListener("video:timeupdate",e=>{t(e.detail.time)})}}class Vu{constructor(){this.doc=document,this.instances=[],this.win=window,this.obeserveInstances()}obeserveInstances(){let t=new Set;this.doc.addEventListener("player:ready",e=>{t.has(e.detail.player)||(t.add(e.detail.player),e=new $u(e.detail.player),this.instances.push(e))})}}Vu.smartplayer=new Vu;var js,An,Hs=()=>{window.smartplayer||(console.log("ApiCompat: loaded"),window.smartplayer=Vu.smartplayer)};function zs({prefix:e,suffix:t}={}){return void 0!==window.crypto&&"function"==typeof window.crypto.randomUUID?""+(null!=e?e:"")+window.crypto.randomUUID()+(null!=t?t:""):""+(null!=e?e:"")+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})+(null!=t?t:"")}document.addEventListener("DOMContentLoaded",Hs),window.addEventListener("load",Hs),"complete"===document.readyState&&Hs(),(Hs=js=js||{}).ANALYTICS_SEND_EVENT="analytics:send-event",Hs.ANALYTICS_STARTED="analytics:started",Hs.CALLACTION_ACTIVE="callaction:active",Hs.CALLACTION_CURRENT_ACTIVE_ITEMS="callaction:current-active-items",Hs.CALLACTION_CONNECTED="callaction:connected",Hs.CALLACTION_DISCONNECTED="callaction:disconnected",Hs.CONTROL_BAR_CLOSER="control-bar:closer",Hs.CONTROLS_ACTIVE="controls:active",Hs.CONTROLS_INACTIVE="controls:inactive",Hs.CONTROLS_ITEMS="controls:items",Hs.CONVERSION_TRACKING_DISABLED="conversion-tracking:disabled",Hs.CONVERSION_TRACKING_ENABLED="conversion-tracking:enabled",Hs.CONVERSION_TRACKING_UPDATE="conversion-tracking:update",Hs.FAKEBAR_ACTIVE="fakebar:active",Hs.FAKEBAR_INACTIVE="fakebar:inactive",Hs.FAKEBAR_PROGRESS="fakebar:progress",Hs.FAKEBAR_WIDTH="fakebar:width",Hs.FULLSCREEN_ENTER="fullscreen:enter",Hs.FULLSCREEN_EXIT="fullscreen:exit",Hs.HEADLINE_ACTIVE="headline:active",Hs.HEADLINE_CHANGED="headline:changed",Hs.HEADLINE_INACTIVE="headline:inactive",Hs.HEADLINE_RENDERED="headline:rendered",Hs.HLS_FIRST_SEGMENT_LOADED="first-segment-loaded",Hs.HLS_LEVEL_SWITCHED="level-switched",Hs.HLS_LEVELS_LOADED="levels-loaded",Hs.HLS_MOUNT="mount",Hs.IFRAME_CONNECTED="iframe:connected",Hs.IFRAME_OPEN_LINK="iframe:open-link",Hs.LICENSE_ALLOWED="license:allowed",Hs.LICENSE_DENIED="license:denied",Hs.LICENSE_ERROR="license:error",Hs.MINIHOOK_ACTIVE="minihook:active",Hs.MINIHOOK_INACTIVE="minihook:inactive",Hs.MINIHOOK_ITEMS="minihook:items",Hs.PITCH_TIME="pitch:time",Hs.PLAYER_BLOCKED="player:blocked",Hs.PLAYER_CONFIG_UPDATED="player:config-updated",Hs.PLAYER_EXIT_CLICK="player:exit-click",Hs.PLAYER_OFFLINE="player:offline",Hs.PLAYER_ONLINE="player:online",Hs.PLAYER_READY="player:ready",Hs.PLAYER_RESIZE="player:resize",Hs.PLAYER_UNBLOCKED="player:unblocked",Hs.PRELOAD_EXPIRED="preload:expired",Hs.PRELOAD_REMOVED="preload:removed",Hs.RESUME_ACTIVE="resume:active",Hs.RESUME_CONTINUE="resume:continue",Hs.RESUME_INACTIVE="resume:inactive",Hs.RESUME_RESTART="resume:restart",Hs.SMARTAUTOPLAY_ACTIVE="smartautoplay:active",Hs.SMARTAUTOPLAY_INACTIVE="smartautoplay:inactive",Hs.SMARTAUTOPLAY_PLAY="smartautoplay:play",Hs.SMARTAUTOPLAY_PROBE_SUCCESS="smartautoplay:probe-success",Hs.SMARTAUTOPLAY_SELECTED="smartautoplay:selected",Hs.SMARTAUTOPLAY_VIDEO_READY="smartautoplay:video-ready",Hs.SUBTITLE_ACTIVE="subtitle:active",Hs.SUBTITLE_CONFIG_CHANGE="subtitle:config-change",Hs.SUBTITLE_INACTIVE="subtitle:inactive",Hs.SUBTITLE_TRACK_CHANGE="subtitle:track-change",Hs.TURBO_ACTIVE="turbo:active",Hs.TURBO_INACTIVE="turbo:inactive",Hs.TURBO_SPEED_CHANGED="turbo:speed-changed",Hs.TURBO_TYPE="turbo:type",Hs.URL_INJECTION="url-injection",Hs.VIDEO_CANPLAY="video:canplay",Hs.VIDEO_CANPLAYTHROUGH="video:canplaythrough",Hs.VIDEO_ENDED="video:ended",Hs.VIDEO_FORWARD="video:forward",Hs.VIDEO_LOADEDDATA="video:loadeddata",Hs.VIDEO_LOADEDMETADATA="video:loadedmetadata",Hs.VIDEO_PAUSE="video:pause",Hs.VIDEO_PLAY="video:play",Hs.VIDEO_PLAYING="video:playing",Hs.VIDEO_PROGRESS="video:progress",Hs.VIDEO_READY="video:ready",Hs.VIDEO_REWIND="video:rewind",Hs.VIDEO_SPEEDCHANGE="video:speedchange",Hs.VIDEO_TIMEUPDATE="video:timeupdate",Hs.VIDEO_TIMEUPDATE_MS="video:timeupdate-ms",Hs.VIDEO_VOLUMECHANGE="video:volumechange",Hs.VIDEO_WAITING="video:waiting",(Hs=An=An||{}).LOW="low",Hs.MEDIUM="medium",Hs.HIGH="high";class Gu{constructor(e,t){this.value=e,this.next=t}hasReference(e){let t=this;for(;t;){if(t.value===e)return!0;t=t.next}return!1}}function wn(e){return e instanceof Object&&function e(t,r){for(var i in r=new Gu(t,r),t)if((i=t[i])instanceof Object&&(r.hasReference(i)||e(i,r)))return!0;return!1}(e,null)}class ju extends Error{constructor(e,t,r,i,s){super(e),this.module=t,this.traceId=r,this.spanId=i,this.metadata=s}}class Hu extends Error{constructor(e,t,r,i,s,n){super(e),this.module=t,this.traceId=r,this.spanId=i,this.network=s,this.metadata=n}}function Ln(e){return""!==e.canPlayType("application/vnd.apple.mpegURL")}function kn(){return/chrome/i.test(window.navigator.userAgent)}function In(){return/mobile/i.test(window.navigator.userAgent)}function Rn(){return navigator.vendor&&-1{e=[`${e=e,kn()?`${C[e]}[${e.toLocaleUpperCase()}]:`+P:e.toLocaleUpperCase()} `+t];return r&&e.push(r),e},x=["trace","debug","info","warning","error"],O=e=>{try{var t=/^\[(.*)\]|^(\w+):\s/g.exec(e);return(null==t?void 0:t[1])||(null==t?void 0:t[2])||"Unknown"}catch(e){return"Unknown"}},M=()=>"deviceMemory"in navigator&&"number"==typeof navigator.deviceMemory?1024*navigator.deviceMemory*1024*1024:void 0;class zu{constructor(e){this.loggerOptions=e,this.traceId=null,this.contexts={},this.sentryKey="c66faa8e28e47bb7a9baa128334e4b48",this.sentryUrl="https://sentry.io/api/4509130195468288/envelope/"}send(e,t){this.request(e,t)}stackToFrame(e){let s=/at (.*) \((.*):(\d+):(\d+)\)/;return e.split("\n").map(e=>{var t,r,i,e=e.match(s);return e?([,e,t,r,i]=e,{colno:parseInt(i),filename:t,function:e,in_app:!0,lineno:parseInt(r)}):null}).filter(e=>null!==e)}safeObject(e){try{if(!wn(e))return e}catch(e){}}buildEnvelope(e,t){return JSON.stringify({breadcrumbs:t.map(e=>Object.assign(Object.assign({},e),{data:this.safeObject(e.data)})),contexts:{device:this.deviceContext(),gpu:this.gpuContext()},environment:"production",event_id:zs(),exception:{values:[{value:e.message,module:e.module,stacktrace:{frames:this.stackToFrame(e.stack||"")}}]},extra:{metadata:this.safeObject(e.metadata),player_configs:this.loggerOptions.player_configs,device_id:this.loggerOptions.device_id,session_id:this.loggerOptions.session_id,referer:document.referrer,url:window.location.href,network:e instanceof Hu?{response:{status:null==(t=e.network.response)?void 0:t.status,statusText:null==(t=e.network.response)?void 0:t.statusText,body:null==(t=e.network.response)?void 0:t.body},request:{url:e.network.request.url,method:e.network.request.method,headers:e.network.request.headers,data:e.network.request.body}}:void 0},level:"error",logger:"smartplayer",platform:"javascript",release:"smartplayer@4.5.2",request:e instanceof Hu?{url:e.network.request.url,method:e.network.request.method,headers:e.network.request.headers,data:e.network.request.body}:void 0,sdk:{integrations:["Logger"],name:"smartplayer",version:"4.5.2"},server_name:window.location.hostname,timestamp:(new Date).getTime()/1e3,transaction:e.module||"Unknown",user:{id:null==(t=this.loggerOptions.player_configs)?void 0:t.oid,ip_address:"{{auto}}"}})}deviceContext(){var e;return this.contexts.device||(this.contexts.device={arch:navigator.platform,device_type:/Mobi|Android|iPhone|iPad|Windows Phone/i.test(navigator.userAgent)?"Handheld":"Desktop",family:navigator.platform,language:navigator.language,manufacturer:navigator.vendor||void 0,memory_size:M(),model:navigator.userAgent.split(/[()]/)[1],name:navigator.userAgent,online:navigator.onLine,orientation:null!=(e=null==(e=window.screen.orientation)?void 0:e.type)&&e.includes("portrait")?"portrait":"landscape",processor_count:navigator.hardwareConcurrency,screen_density:window.devicePixelRatio,screen_height_pixels:window.screen.height,screen_resolution:window.screen.width+"x"+window.screen.height,screen_width_pixels:window.screen.width,supports_accelerometer:"DeviceMotionEvent"in window,supports_audio:"AudioContext"in window,supports_gyroscope:"DeviceOrientationEvent"in window,supports_location_service:"geolocation"in navigator,supports_vibration:"vibrate"in navigator,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}),this.contexts.device}gpuContext(){var e,t;return this.contexts.gpu||(this.contexts.gpu={api_type:window.WebGLRenderingContext?"WebGL":"Unknown",memory_size:M(),multi_threaded_rendering:!1,name:(t=(t=document.createElement("canvas")).getContext("webgl")||t.getContext("experimental-webgl"))&&(e=t.getExtension("WEBGL_debug_renderer_info"))?t.getParameter(e.UNMASKED_RENDERER_WEBGL):"Unknown",npot_support:document.createElement("canvas").getContext("webgl")?"Full":"Unknown",vendor_name:(t=(t=document.createElement("canvas")).getContext("webgl")||t.getContext("experimental-webgl"))&&(e=t.getExtension("WEBGL_debug_renderer_info"))?t.getParameter(e.UNMASKED_VENDOR_WEBGL):"Unknown",version:(t=document.createElement("canvas").getContext("webgl"))?t.getParameter(t.VERSION):"Unknown"}),this.contexts.gpu}request(e,t){var r=new XMLHttpRequest;r.open("POST",this.sentryUrl,!0),r.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),r.setRequestHeader("X-Sentry-Auth",`Sentry sentry_version=7, sentry_key=${this.sentryKey}, sentry_client=smartplayer/4.1.0`),r.withCredentials=!1,r.send(this.buildEnvelope(e,t))}}class Ku{constructor(e){this.shouldDisplayLog=e}debug(e,t){this.shouldDisplayLog("debug",e)&&console.debug(...D("debug",e,t))}error(e,t){this.shouldDisplayLog("error",e)&&console.error(...D("error",e,t))}info(e,t){this.shouldDisplayLog("info",e)&&console.info(...D("info",e,t))}trace(e,t){this.shouldDisplayLog("trace",e)&&console.debug(...D("trace",e,t))}warning(e,t){this.shouldDisplayLog("warning",e)&&console.warn(...D("warning",e,t))}}class Yu{constructor(e,t){this.shouldDisplayLog=e,this.onEnd=t,this.level="debug",this.description="",this.messages=[],this.logMessage=new Ku(()=>!0)}group(e,t){return this.level=e,this.description=t,this}message(e,t){return this.messages.push({message:e,metadata:t}),this}end(){if(this.onEnd(this.level,this.description,this.messages),this.shouldDisplayLog(this.level,this.description)){console.groupCollapsed(...D(this.level,this.description));let t=(this.logMessage[this.level]||this.logMessage.info).bind(this.logMessage);this.messages.forEach(e=>t(e.message,e.metadata)),console.groupEnd()}}}let F=["trace","debug","info","warning","error"];class vn{constructor(e,t={}){this.named=e,this.options=t,this.breadcrumb=[],this.onGroupEnd=(e,t,r)=>{this.addCrumb("trace"===e?"debug":e,t,r),"error"===e&&this.sendErrorToMiddleware(t,r)},this.sendNetworkErrorToMiddleware=(e,t)=>{try{this.errorMiddleware.send(({traceId:r,message:i,network:s,metadata:n}=[{traceId:this.traceId,message:e,network:t}][0],a=O(i),new Hu(i,a,r,zs(),s,n)),this.breadcrumb)}catch(e){console.error(e)}var r,i,s,n,a},this.sendErrorToMiddleware=(e,t)=>{try{this.errorMiddleware.send(({traceId:r,message:i,metadata:s}=[{traceId:this.traceId,message:e,metadata:t}][0],n=O(i),new ju(i,n,r,zs(),s)),this.breadcrumb)}catch(e){console.error(e)}var r,i,s,n},this.addCrumb=(e,t,r)=>{this.breadcrumb.push({level:e,message:t,data:r,timestamp:(new Date).getTime()/1e3}),5{var r,t=F.indexOf(t),i=F.indexOf(vn.level);try{return null!=(r=vn.searchMatch)&&r.length&&e?new RegExp(decodeURIComponent(vn.searchMatch),"i").test(e)&&i<=t:i<=t}catch(e){return i<=t}},this.prefixedMessage=e=>this.named?this.named+": "+e:e;var{logLevel:e,searchMatch:t}=(()=>{try{var e=new URL(window.location.href),t=e.searchParams.get("logLevel");return{logLevel:t&&x.includes(t.toLocaleLowerCase())?t:null,searchMatch:e.searchParams.get("logMatch")}}catch(e){return{logLevel:null,searchMatch:null}}})();e&&(vn.level=e),t&&(vn.searchMatch=t),this.traceId=zs(),this.errorMiddleware=new zu(this.options),this.logMessage=new Ku((e,t)=>this.shouldDisplayLog(e,t))}set loggerOptions(e){this.options=Object.assign(Object.assign({},this.options),e),this.errorMiddleware.loggerOptions=this.options}debug(e,t){this.addCrumb("debug",e,t),this.logMessage.debug(this.prefixedMessage(e),t)}network(e,t){this.addCrumb("error",e,t),this.sendNetworkErrorToMiddleware(e,t),this.logMessage.error(this.prefixedMessage(e),t)}error(e,t){this.addCrumb("error",e,t),this.sendErrorToMiddleware(e,t),this.logMessage.error(this.prefixedMessage(e),t)}info(e,t){this.addCrumb("info",e,t),this.logMessage.info(this.prefixedMessage(e),t)}trace(e,t){this.addCrumb("debug",e,t),this.logMessage.trace(this.prefixedMessage(e),t)}warn(e,t){this.addCrumb("warning",e,t),this.logMessage.warning(this.prefixedMessage(e),t)}group(e,t){return new Yu(()=>this.shouldDisplayLog(e,t),this.onGroupEnd).group(e,this.prefixedMessage(t))}}vn.level="warning",vn.searchMatch=void 0;class yn{get config(){return this.player.config}constructor(e){var t;this.player=e,this.mounted=!1,this.logger=new vn(this.constructor.controllerName,{player_configs:e.config,device_id:null==(t=e.analytics)?void 0:t.deviceId,session_id:null==(t=e.analytics)?void 0:t.sessionId}),this.player.addController(this)}hostConnected(){this.checkRequirements()&&(this.init(),this.mount())}hostUpdated(){!this.mounted&&this.checkRequirements()&&(this.init(),this.mount())}init(){this.logger.error("method not implemented")}checkRequirements(){return this.logger.trace("checking requirements"),this.constructor.requirements.every(e=>e(this.player))}mount(){this.mounted=!0}}yn.controllerName="PlayerController",yn.requirements=[];var Pn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class Wu extends yn{constructor(){super(...arguments),this.hasSmartAutoplayActive=!1,this.isDestroyed=!1,this.isProbing=!1,this.probeAttempts=0,this.probeConfig={enabled:!0,maxAttempts:10,probeInterval:2e3,probeTimeout:1e3,triggerEvents:["scroll","click","keydown","touchstart"]},this.probeIntervalId=null,this.probeVideo=null,this.userInteractionDetected=!1,this.onSmartAutoplayActive=()=>{this.hasSmartAutoplayActive=!0,this.logger.trace("SmartAutoPlay activated, probe controller ready"),this.userInteractionDetected&&this.startProbing()},this.onSmartAutoplayInactive=()=>{this.hasSmartAutoplayActive=!1,this.logger.trace("SmartAutoPlay deactivated, stopping probes"),this.stopProbing()},this.onUserInteraction=()=>{this.userInteractionDetected||(this.userInteractionDetected=!0,this.logger.trace("User interaction detected, starting probes"),this.startProbing())}}destroy(){var e;this.isDestroyed=!0,this.logger.debug("Destroying BackgroundAutoplayProbeController"),this.stopProbing(),this.player.removeEventListener(js.SMARTAUTOPLAY_ACTIVE,this.onSmartAutoplayActive),this.player.removeEventListener(js.SMARTAUTOPLAY_INACTIVE,this.onSmartAutoplayInactive),null!=(e=this.probeConfig.triggerEvents)&&e.forEach(e=>{document.removeEventListener(e,this.onUserInteraction)}),this.probeVideo&&this.probeVideo.parentNode&&(this.probeVideo.pause(),this.probeVideo.src="",this.probeVideo.parentNode.removeChild(this.probeVideo),this.probeVideo=null)}getStats(){return{hasSmartAutoplayActive:this.hasSmartAutoplayActive,isDestroyed:this.isDestroyed,isProbing:this.isProbing,maxAttempts:this.probeConfig.maxAttempts,probeAttempts:this.probeAttempts,userInteractionDetected:this.userInteractionDetected}}init(){var e;this.probeConfig.enabled?(this.logger.debug("Initializing BackgroundAutoplayProbeController"),this.probeVideo=this.createProbeVideo(),document.body.appendChild(this.probeVideo),this.logger.debug("Probe video element created",{target:this.player}),this.player.addEventListener(js.SMARTAUTOPLAY_ACTIVE,this.onSmartAutoplayActive,{once:!0}),this.player.addEventListener(js.SMARTAUTOPLAY_INACTIVE,this.onSmartAutoplayInactive,{once:!0}),this.logger.debug("Listening for user interaction events",{events:this.probeConfig.triggerEvents}),null!=(e=this.probeConfig.triggerEvents)&&e.forEach(e=>{document.addEventListener(e,this.onUserInteraction,{once:!1,passive:!0})}),null!=(e=this.player.controllers.analytics)&&e.metric("background_autoplay_probe.initialized",1)):this.logger.debug("Background autoplay probe disabled")}updateConfig(e){this.probeConfig=Object.assign(Object.assign({},this.probeConfig),e),this.logger.debug("Background autoplay probe config updated",this.probeConfig)}attemptProbe(){return Pn(this,void 0,void 0,function*(){var e;if(!this.probeVideo||this.isDestroyed)return!1;try{this.logger.trace("Attempting autoplay probe"),this.probeVideo.currentTime=0;var t=this.probeVideo.play(),r=new Promise((e,t)=>{setTimeout(()=>t(new Error("Probe timeout")),this.probeConfig.probeTimeout)});return yield Promise.race([t,r]),this.logger.info("Background autoplay probe succeeded - audio autoplay is now possible"),null!=(e=this.player.controllers.analytics)&&e.metric("background_autoplay_probe.success",1),!0}catch(e){t=e.message;return t.includes("no supported sources")||t.includes("NotSupportedError")?(this.logger.trace("No supported sources, but autoplay not blocked - treating as success"),null!=(r=this.player.controllers.analytics)&&r.metric("background_autoplay_probe.success",1),!0):(this.logger.trace("Background autoplay probe failed",{error:t}),!1)}})}createProbeVideo(){var e=document.createElement("video");return e.style.position="fixed",e.style.top="-1px",e.style.left="-1px",e.style.width="1px",e.style.height="1px",e.style.opacity="0",e.style.pointerEvents="none",e.style.zIndex="9",e.style.backgroundColor="transparent",e.style.display="block",e.style.objectFit="fill",e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex","-1"),e.src="https://cdn.converteai.net/1.mp4",e.loop=!1,e.muted=!1,e.playsInline=!0,e}performProbe(){return Pn(this,void 0,void 0,function*(){var e;this.isProbing&&!this.isDestroyed&&(this.probeAttempts++,this.probeAttempts>(null!=(e=this.probeConfig.maxAttempts)?e:10)?(this.logger.trace("Max probe attempts reached, stopping"),null!=(e=this.player.controllers.analytics)&&e.metric("background_autoplay_probe.max_attempts_reached",1),this.stopProbing()):(yield this.attemptProbe())&&this.hasSmartAutoplayActive&&(this.logger.info("Probe succeeded, triggering SmartAutoPlay audio play"),this.player.dispatchEvent(new CustomEvent(js.SMARTAUTOPLAY_PROBE_SUCCESS))))})}startProbing(){var e;this.probeConfig.enabled&&!this.isProbing&&this.hasSmartAutoplayActive&&!this.isDestroyed&&(this.isProbing=!0,this.probeAttempts=0,this.logger.trace("Starting background autoplay probing"),null!=(e=this.player.controllers.analytics)&&e.metric("background_autoplay_probe.started",1),this.performProbe(),this.probeIntervalId=window.setInterval(()=>{this.performProbe()},this.probeConfig.probeInterval))}stopProbing(){this.probeIntervalId&&(clearInterval(this.probeIntervalId),this.probeIntervalId=null),this.isProbing=!1,this.logger.trace("Stopped background autoplay probing")}}Wu.controllerName="BackgroundAutoplayProbeController";let N=({timeout:t,delay:r,isReady:i,shouldResolveImmediately:s=!0})=>{let n=null,a=null;return new Promise(e=>{if(s&&i())return e(!0);n=setTimeout(()=>{a&&clearInterval(a),n&&clearTimeout(n),e(!1)},t),a=setInterval(()=>{i()&&(a&&clearInterval(a),n&&clearTimeout(n),e(!0))},r)})};var Dn,xn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})},On=function(e,t,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e===t&&i:t.has(e))return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e);throw new TypeError("Cannot read private member from an object whose class did not declare it")};class qu extends yn{constructor(){super(...arguments),Dn.set(this,{finished:!1,played:!1,resume:!1,smartAutoPlay:!1})}anyBlocker(...e){return e.some(e=>On(this,Dn,"f")[e])}anyBlockerAsync(e){return xn(this,arguments,void 0,function*(e,t=100){return N({timeout:t,delay:10,isReady:()=>this.anyBlocker(...e),shouldResolveImmediately:!1})})}block(e){On(this,Dn,"f")[e]||(this.logger.info("block "+e),On(this,Dn,"f")[e]=!0,this.player.dispatchEvent(new CustomEvent(js.PLAYER_BLOCKED,{detail:{blocker:e}})),this.player.deepUpdate(),this.logger.debug("Blocking "+e))}init(){this.logger.debug("init");var e=()=>{this.block("played")};this.player.addEventListener(js.SMARTAUTOPLAY_PLAY,e),this.player.addEventListener(js.RESUME_CONTINUE,e),this.player.addEventListener(js.RESUME_RESTART,e)}noneBlocker(...e){return e.every(e=>!On(this,Dn,"f")[e])}noneBlockerAsync(e){return xn(this,arguments,void 0,function*(e,t=100){return!(yield this.anyBlockerAsync(e,t))})}unblock(e){On(this,Dn,"f")[e]&&(this.logger.info("unblock "+e),On(this,Dn,"f")[e]=!1,this.player.dispatchEvent(new CustomEvent(js.PLAYER_UNBLOCKED,{detail:{blocker:e}})),this.player.deepUpdate(),this.logger.debug("Unblocking "+e))}}Dn=new WeakMap,qu.controllerName="BlockerController";class Xu extends yn{init(){this.config.canary&&this.config.canary.active&&this.player.controllers.analytics.event("player_canary_view",{player_canary_test_id:this.config.canary.canary_id,player_id:this.config.canary.player_id})}}Xu.controllerName="CanaryController";var Mn,Fn,Nn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})},Un=function(e,t,r,i,s){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e===t&&s:t.has(e))return"a"===i?s.call(e,r):s?s.value=r:t.set(e,r),r;throw new TypeError("Cannot write private member to an object whose class did not declare it")},Bn=function(e,t,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e===t&&i:t.has(e))return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e);throw new TypeError("Cannot read private member from an object whose class did not declare it")};class Qu extends yn{constructor(){super(...arguments),Mn.set(this,1),Fn.set(this,!1),this.canPlay=!1,this.onCanPlay=()=>{this.canPlay=!0},this.onWaiting=()=>{this.canPlay=!1}}init(){this.player.addEventListener(js.VIDEO_CANPLAY,this.onCanPlay),this.player.addEventListener(js.VIDEO_WAITING,this.onWaiting)}destroy(){this.player.removeEventListener(js.VIDEO_CANPLAY,this.onCanPlay),this.player.removeEventListener(js.VIDEO_WAITING,this.onWaiting)}awaitPlay(){return Nn(this,arguments,void 0,function*(e=5e3){try{var t=yield N({timeout:e,delay:50,isReady:()=>this.canPlay});if(this.logger.debug("awaitPlay: isReady?",t),t)return this.play();this.logger.error("Video is not ready to play, waiting for canplay event"),this.player.addEventListener(js.VIDEO_CANPLAY,this.play,{once:!0})}catch(e){this.logger.error("Failed to await play",{error:e})}})}mute(){try{this.player.ready&&this.player.video?(Un(this,Mn,this.player.video.volume,"f"),this.player.video.volume=0,this.player.muted=!0):this.logger.warn("mute: host not ready")}catch(e){this.logger.error("Failed to mute video",{error:e})}}pause(){try{this.player.ready?this.player.video.pause():this.logger.warn("pause: host not ready")}catch(e){this.logger.error("Failed to pause video",{error:e})}}play(){return Nn(this,void 0,void 0,function*(){try{this.player.controllers.blockers.noneBlocker("played","smartAutoPlay","resume")&&this.player.controllers.blockers.block("played"),this.player.ready?(this.logger.info("play"),yield this.player.video.play(),this.logger.debug("play: video played")):this.logger.warn("play: host not ready")}catch(e){e instanceof Error?this.logger.error("Failed to play video: "+e.message,{error:e}):this.logger.error("Failed to play video",{error:e})}})}seek(e){try{this.player.ready&&this.player.video?(this.player.controllers.blockers.noneBlocker("smartAutoPlay","resume")&&this.player.controllers.blockers.anyBlocker("played")&&this.logger.info("seek",e),this.player.video.currentTime=e,this.player.dispatchEvent(new CustomEvent(js.VIDEO_TIMEUPDATE,{detail:{time:e}})),this.player.dispatchEvent(new CustomEvent(js.VIDEO_TIMEUPDATE_MS,{detail:{time:e}}))):this.logger.warn("seek: host not ready")}catch(e){this.logger.error("Failed to seek video",{error:e})}}speed(e){try{this.player.ready?this.player.video.playbackRate=e:this.logger.warn("speed: host not ready")}catch(e){this.logger.error("Failed to set video speed",{error:e})}}toggle(){var e,t,r;try{this.logger.group("debug","toggle").message("#played",Bn(this,Fn,"f")).message("video played",!(null==(e=this.player.video)||!e.played)).message("video paused",null==(t=this.player.video)?void 0:t.paused).end(),null!=(r=this.player.video)&&r.paused?this.play():this.pause()}catch(e){this.logger.error("Failed to toggle play/pause",{error:e})}}unmute(){try{this.player.ready&&this.player.video?(Bn(this,Mn,"f")<=.05?this.player.video.volume=1:this.player.video.volume=Bn(this,Mn,"f"),this.player.muted=!1):this.logger.warn("unmute: host not ready")}catch(e){this.logger.error("Failed to unmute video",{error:e})}}volume(e){try{this.player.ready?(0e&&!!t];var $n=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};let U={canplay:js.VIDEO_CANPLAY,canplaythrough:js.VIDEO_CANPLAYTHROUGH,loadeddata:js.VIDEO_LOADEDDATA,loadedmetadata:js.VIDEO_LOADEDMETADATA,playing:js.VIDEO_PLAYING,progress:js.VIDEO_PROGRESS,ratechange:js.VIDEO_SPEEDCHANGE,volumechange:js.VIDEO_VOLUMECHANGE,waiting:js.VIDEO_WAITING};class Zu extends yn{constructor(){super(...arguments),this.lastTime=0}init(){return $n(this,void 0,void 0,function*(){this.logger.trace("init",[this.player.video,this.player]),this.videoObserver();try{this.player.video.addEventListener("play",()=>$n(this,void 0,void 0,function*(){var e=yield this.player.controllers.blockers.anyBlockerAsync(["played"]);this.logger.group("trace","Video play").message("CustomEvent",js.VIDEO_PLAY).message("Video Event: play").message("Expected Blockers: played").message("Blocked",e).end(),e&&(this.logger.info("Video play: dispatching event"),this.player.dispatchEvent(new CustomEvent(js.VIDEO_PLAY)))})),this.logger.trace("Registered video play event listener"),this.player.video.addEventListener("ended",()=>$n(this,void 0,void 0,function*(){var e=yield this.player.controllers.blockers.anyBlockerAsync(["played"]);this.logger.group("trace","Video ended").message("CustomEvent",js.VIDEO_ENDED).message("Video Event: ended").message("Expected Blockers: played").message("Blocked",e).end(),e&&(this.logger.info("Video ended: dispatching event"),this.player.dispatchEvent(new CustomEvent(js.VIDEO_ENDED,{detail:{time:this.player.video.currentTime}})))})),this.logger.trace("Registered video ended event listener");let r=0;this.player.video.addEventListener("timeupdate",e=>$n(this,void 0,void 0,function*(){var e,t;(yield this.player.controllers.blockers.noneBlockerAsync(["played"]))||(e=this.player.video,this.player.dispatchEvent(new CustomEvent(js.VIDEO_TIMEUPDATE_MS,{detail:{time:e.currentTime}})),(t=Math.floor(null!=(t=e.currentTime)?t:0))!==r&&(r=t,this.player.dispatchEvent(new CustomEvent(js.VIDEO_TIMEUPDATE,{detail:{time:e.currentTime}}))))})),this.logger.trace("Registered video timeupdate event listener"),this.player.video.addEventListener("pause",()=>$n(this,void 0,void 0,function*(){var e=yield this.player.controllers.blockers.anyBlockerAsync(["played"]);this.logger.group("trace","Video paused").message("CustomEvent",js.VIDEO_PAUSE).message("Video Event: pause").message("Expected Blockers: played").message("Blocked",e).end(),e&&(this.logger.info("Video paused: dispatching event"),this.player.dispatchEvent(new CustomEvent(js.VIDEO_PAUSE,{detail:{time:this.player.video.currentTime}})),this.player.deepUpdate())})),this.logger.trace("Registered video paused event listener")}catch(e){this.logger.error("Failed to add video event listener",{error:e})}})}videoObserver(){let r=this.player.video;Object.entries(U).forEach(([e,t])=>{r.addEventListener(e,()=>{this.logger.info("Video event",e),this.player.dispatchEvent(new CustomEvent(t,{detail:{video:r}}))})})}}Zu.controllerName="EventsController",Zu.requirements=[({ready:e,video:t})=>e&&!!t];var Vn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class Ju extends yn{get showing(){return this.player.player.classList.contains("show-controls")}constructor(e){super(e),this.blockClose=!1,this.doc=document,this.hide=()=>{var e;this.blockClose||this.player.paused||(clearTimeout(this.showControlsTimeout),e=this.player.player,this.logger.debug("hide controls"),e.classList.remove("show-controls"),this.player.dispatchEvent(new CustomEvent(js.CONTROLS_INACTIVE)))},this.onFirstPlay=()=>{this.show(),this.player.removeEventListener(js.VIDEO_PLAY,this.onFirstPlay)},this.onKeyBindingBlocker=()=>{this.blockClose=!this.blockClose},this.show=()=>Vn(this,void 0,void 0,function*(){try{var e;this.player.controllers.blockers.anyBlocker("resume","smartAutoPlay")||this.player.controllers.blockers.anyBlocker("played")&&(clearTimeout(this.showControlsTimeout),e=this.player.player,this.showControlsTimeout=setTimeout(()=>{this.blockClose?this.show():this.hide()},Ju.hideTime),e.classList.add("show-controls"),this.player.dispatchEvent(new CustomEvent(js.CONTROLS_ACTIVE)))}catch(e){this.logger.error("Error showing controls",e)}}),this.touch=(e,t)=>Vn(this,void 0,void 0,function*(){try{this.player.controllers.blockers.anyBlocker("played")&&(e.preventDefault(),e.stopPropagation(),this.player.pauseOneTouch?(t(),this.show()):this.showing?t():this.show())}catch(e){this.logger.error("Error handling touch event",e)}}),this.keyBindingBlocker=((t,r)=>{let i=0;return e=>{e.key===t[i]?++i===t.length&&(r(),i=0):i=0}})(["v","c","b"],this.onKeyBindingBlocker)}dispatchCloser(){this.player.dispatchEvent(new CustomEvent(js.CONTROL_BAR_CLOSER))}init(){return Vn(this,void 0,void 0,function*(){this.doc.addEventListener("keydown",this.keyBindingBlocker),this.player.addEventListener(js.VIDEO_PLAY,this.onFirstPlay,{once:!0})})}}Ju.controllerName="BarController",Ju.hideTime=3500;var Gn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class ef extends yn{constructor(){super(...arguments),this.state={action_buttons:[],analytics_sent_events:[],controls_hide_time:Ju.hideTime,controls_items:{},current_time:0,default_config:this.player.config,fakebar_active:!1,fakebar_progress:0,fakebar_width:0,headline_active:!1,headline_changed:null,minihook_active:!1,minihook_items:[],resume_action:"",resume_initialized:!1,resume_running:!1,smartautoplay_initialized:!1,smartautoplay_running:!1,smartautoplay_selected:null,subtitle_active:!1,subtitle_config:null,subtitle_multiplier:1,turbo_active:!1,turbo_speed:1,turbo_type:"single",video_duration:0,video_muted:!1,video_playing:!1}}get info(){var e;return Object.assign(Object.assign({},this.state),{controls_hide_time:Ju.hideTime,current_time:null==(e=this.player.video)?void 0:e.currentTime,default_config:this.player.config,video_duration:null==(e=this.player.video)?void 0:e.duration,video_height:null==(e=this.player.video)?void 0:e.videoHeight,video_muted:null==(e=this.player.video)?void 0:e.muted,video_playing:!(null!=(e=this.player.video)&&e.paused),video_poster:null==(e=this.player.video)?void 0:e.poster,video_src:null==(e=this.player.video)?void 0:e.src,video_volume:null==(e=this.player.video)?void 0:e.volume,video_width:null==(e=this.player.video)?void 0:e.videoWidth})}init(){return Gn(this,void 0,void 0,function*(){})}}ef.controllerName="FeaturesController";class tf extends yn{constructor(){super(...arguments),this.doc=document,this.handleFullscreenChange=()=>{this.logger.debug("fullscreen change",{currentFullscreenElement:this.currentFullscreenElement,isFullscreen:this.isFullscreen}),!this.currentFullscreenElement&&this.isFullscreen&&this.cancel()},this.handleOnKeyDown=e=>{"Escape"===e.key&&this.isFullscreen&&this.cancel()}}get currentFullscreenElement(){return this.doc.fullscreenElement||this.doc.mozFullScreenElement||this.doc.msFullscreenElement}get isFullscreen(){var e;return null!=(e=null==(e=this.player.player)?void 0:e.classList.contains("in-fullscreen"))&&e}active(){var e;this.logger.debug("active fullscreen"),null!=(e=this.player.player)&&e.classList.add("in-fullscreen"),this.requestFullscreenBrowser(),this.player.dispatchEvent(new CustomEvent(js.FULLSCREEN_ENTER))}cancel(){var e;this.logger.debug("cancel fullscreen"),null!=(e=this.player.player)&&e.classList.remove("in-fullscreen"),this.cancelFullscreenBrowser(),this.player.dispatchEvent(new CustomEvent(js.FULLSCREEN_EXIT))}cancelAll(){this.cancel()}hostConnected(){super.hostConnected(),this.doc.addEventListener("keydown",this.handleOnKeyDown),this.doc.addEventListener("fullscreenchange",this.handleFullscreenChange),this.doc.addEventListener("mozfullscreenchange",this.handleFullscreenChange),this.doc.addEventListener("msfullscreenchange",this.handleFullscreenChange),this.doc.addEventListener("MSFullscreenChange",this.handleFullscreenChange),this.doc.addEventListener("webkitfullscreenchange",this.handleFullscreenChange)}hostDisconnected(){this.doc.removeEventListener("keydown",this.handleOnKeyDown),this.doc.removeEventListener("fullscreenchange",this.handleFullscreenChange),this.doc.removeEventListener("mozfullscreenchange",this.handleFullscreenChange),this.doc.removeEventListener("msfullscreenchange",this.handleFullscreenChange),this.doc.removeEventListener("MSFullscreenChange",this.handleFullscreenChange),this.doc.removeEventListener("webkitfullscreenchange",this.handleFullscreenChange)}init(){}toggle(){this.isFullscreen?this.cancel():this.active()}cancelFullscreenBrowser(){this.doc.fullscreenElement&&(this.doc.exitFullscreen?this.doc.exitFullscreen():this.doc.mozCancelFullScreen?this.doc.mozCancelFullScreen():this.doc.webkitCancelFullScreen?this.doc.webkitCancelFullScreen():this.doc.msCancelFullScreen?this.doc.msCancelFullScreen():this.doc.msExitFullscreen&&this.doc.msExitFullscreen())}requestFullscreenBrowser(){var e;!In()&&this.player.player&&((e=this.player.player).requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitEnterFullscreen&&e.webkitEnterFullscreen())}}tf.controllerName="FullscreenController",tf.requirements=[({player:e,ready:t})=>t&&!!e];var jn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class rf extends yn{constructor(){super(...arguments),this.doc=document,this.lastTime=0,this.visibilityChange=()=>{var e;this.player.ready&&this.player.video&&this.player.controllers.blockers.anyBlocker("played")&&(this.player.controllers.blockers.anyBlocker("smartAutoPlay","resume")||this.player.config.playback.smartPause&&(this.doc.hidden?(this.player.video.pause(),this.lastTime=null!=(e=this.player.video.currentTime)?e:0):(this.player.video.currentTime=this.lastTime,this.player.video.play())))}}init(){return jn(this,void 0,void 0,function*(){this.logger.group("trace","init").message("detail",{player:this.player,video:this.player.video}).end(),this.doc.addEventListener("visibilitychange",this.visibilityChange)})}}rf.controllerName="HiddenPlayerController",rf.requirements=[({ready:e,video:t})=>e&&!!t];let B=(e,t)=>Math.floor(t-e);class sf extends yn{constructor(){super(...arguments),this.win=window,this.buffering_start_time=null,this.lost_connection_time=null,this.video_segments_loaded=[],this.onBufferingStart=()=>{this.buffering_start_time||(this.buffering_start_time=Date.now(),this.trackBufferingStart())},this.onBufferingEnd=()=>{this.buffering_start_time&&(this.trackBufferingEnd(B(this.buffering_start_time,Date.now())),this.buffering_start_time=null)},this.onLostConnection=()=>{this.lost_connection_time||(this.lost_connection_time=Date.now())},this.onRecoveredConnection=()=>{this.lost_connection_time&&(this.trackLostConnection(B(this.lost_connection_time,Date.now())),this.lost_connection_time=null)}}get pageLoadTime(){return this.win._plt}get timeSincePageLoad(){return B(this.pageLoadTime,Date.now())}init(){this.trackTTPI(),this.player.addEventListener(js.VIDEO_PLAY,()=>{setTimeout(()=>{this.player.addEventListener(js.VIDEO_WAITING,this.onBufferingStart),this.player.addEventListener(js.VIDEO_CANPLAY,this.onBufferingEnd)},500)},{once:!0}),this.player.addEventListener(js.PLAYER_OFFLINE,this.onLostConnection),this.player.addEventListener(js.PLAYER_ONLINE,this.onRecoveredConnection),this.player.addEventListener(js.PLAYER_READY,()=>this.trackTTMP(),{once:!0})}destroy(){this.player.removeEventListener(js.VIDEO_WAITING,this.onBufferingStart),this.player.removeEventListener(js.VIDEO_CANPLAY,this.onBufferingEnd),this.player.removeEventListener(js.PLAYER_OFFLINE,this.onLostConnection),this.player.removeEventListener(js.PLAYER_ONLINE,this.onRecoveredConnection)}trackTTFF(){try{this.player.controllers.analytics.metric("player.ttff",this.timeSincePageLoad)}catch(e){this.logger.error("Error tracking ttff",e)}}trackTTPI(){try{this.player.controllers.analytics.metric("player.ttpi",this.timeSincePageLoad)}catch(e){this.logger.error("Error tracking ttpi",e)}}trackTTMP(){try{this.player.controllers.analytics.metric("player.ttmp",this.timeSincePageLoad)}catch(e){this.logger.error("Error tracking ttmp",e)}}trackBufferingStart(){try{this.player.controllers.analytics.metric("player.buffering",1)}catch(e){this.logger.error("Error tracking buffering rate",e)}}trackBufferingEnd(e){try{this.player.controllers.analytics.metric("player.buffering_duration",e)}catch(e){this.logger.error("Error tracking buffering end",e)}}trackLostConnection(e){try{this.player.controllers.analytics.metric("player.lost_connection",1),this.player.controllers.analytics.metric("player.lost_connection_duration",e)}catch(e){this.logger.error("Error tracking lost connection",e)}}trackAverageVideoDownload(e){try{this.logger.debug("Tracking video download speed",{segments:[...e]});var t=(e=>{var{size:t,duration:r}=e.reduce((e,t)=>(e.size+=t.bytes/1e3,e.duration+=t.request.end-t.request.start,e),{size:0,duration:0});return{size:t/e.length,duration:r/e.length}})(e);this.player.controllers.analytics.metric("player.segment_download_avg_duration_ms",t.duration),this.player.controllers.analytics.metric("player.segment_download_avg_size_kb",t.size)}catch(e){this.logger.error("Error tracking download speed",e)}}trackVideoSegmentLoaded(e){try{this.logger.debug("Tracking video segment",{segment:e}),this.video_segments_loaded.push(e),5===this.video_segments_loaded.length&&this.trackAverageVideoDownload(this.video_segments_loaded)}catch(e){this.logger.error("Error tracking video segment loaded",e)}}}function Hn(t,r){if(t){if("closest"in t)return t.closest(r);if("function"==typeof t.matches&&t.matches(r))return t;let e=t.parentElement;for(;e;){if("function"==typeof e.matches&&e.matches(r))return e;e=e.parentElement}}return null}sf.controllerName="KPIsController";var zn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};let V=["vturb-smartplayer","vturb-anchor-button","vturb-custom-html"];class nf extends yn{constructor(){super(...arguments),this._updaters={medium:[],high:[],low:[]},this.win=window,this.injectBrowserSearchParams=(t,i)=>{try{if(!i||!V.some(e=>Hn(i,e)))return t;let r=new URL(t,this.win.location.href);return this.baseSearchParams.forEach((e,t)=>r.searchParams.set(t,e)),r.toString()}catch(e){return this.logger.error("Failed to update URL",{error:e}),t}},this.urlInjection=e=>{this.logger.group("trace","urlInjection").message("detail",e.detail).end(),(e.detail.priority===An.HIGH?this._updaters.high:e.detail.priority===An.MEDIUM?this._updaters.medium:this._updaters.low).push(e.detail.updater)}}get updaters(){return[...this._updaters.low,...this._updaters.medium,...this._updaters.high]}init(){return zn(this,void 0,void 0,function*(){this.baseSearchParams=new URLSearchParams(this.win.location.search),this.baseSearchParams.delete("vl"),this._updaters.low.push(this.injectBrowserSearchParams),this.player.addEventListener(js.URL_INJECTION,this.urlInjection),this.logger.debug("init",{player:this.player,video:this.player.video})})}}nf.controllerName="LinksController";var Kn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class af extends yn{constructor(){super(...arguments),this.currentPitchTime=null,this.playerConfigUpdated=e=>{try{this.logger.group("debug","playerConfigUpdated").message("pitchTime",e.detail.player.config.pitchTime).end();let t=e.detail.player.config.pitchTime;this.currentPitchTime!==t&&t&&0!==t&&(this.currentPitchTime=t,this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.currentCallback),this.currentCallback=e=>{e.detail.time>=t&&this.player.played&&(this.player.dispatchEvent(new CustomEvent(js.PITCH_TIME,{detail:{player:this.player}})),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.currentCallback))},this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.currentCallback))}catch(e){this.logger.error("Failed to update pitch time",{error:e})}},this.currentCallback=()=>{}}init(){return Kn(this,void 0,void 0,function*(){this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.playerConfigUpdated)})}}af.controllerName="PitchTimeController";var Yn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class of extends yn{constructor(){super(...arguments),this.callActionSelector=".smartplayer-scroll-event, .smartplayer-call-action, vturb-anchor-button, .smartplayer-callaction__html",this.delay=700,this.doc=document}init(){this.logger.debug("init"),this.player.config.playback.active&&(this.player.config.playback.actionAfterFinish&&"loop"===this.player.config.playback.actionAfterFinish.type&&this.setActionAfterFinishLoop(this.player.config.playback.actionAfterFinish),this.player.config.playback.scrollToActionIn)&&this.setScrollToActionIn(this.player.config.playback.scrollToActionIn)}setActionAfterFinishLoop(t){this.logger.debug("setActionAfterFinishLoop"),this.player.addEventListener(js.VIDEO_ENDED,()=>Yn(this,void 0,void 0,function*(){var e;this.logger.info("video ended",{action:t}),this.player.controls.seek(null!=(e=null==(e=t.properties)?void 0:e.start)?e:0),yield this.player.controls.awaitPlay()}))}setScrollToActionIn(t){this.logger.info("setScrollToActionIn",{scrollToActionIn:t});let r=e=>{e.detail.time>=t&&(this.player.controllers.fullscreen.cancelAll(),setTimeout(()=>{var e,t=[...Array.from(this.doc.querySelectorAll(this.callActionSelector)),...Array.from(this.player.querySelectorAll(this.callActionSelector))];0e&&!!t];var qn=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class lf extends yn{hostDisconnected(){var e;null!=(e=this.resizeObserver)&&e.disconnect()}init(){return qn(this,void 0,void 0,function*(){this.logger.debug("init");var e=Wn(100,()=>{var e;this.logger.debug("resize"),this.player.requestUpdate(),this.player.dispatchEvent(new CustomEvent(js.PLAYER_RESIZE)),this.player.height=null!=(e=null==(e=this.player.player)?void 0:e.clientHeight)?e:0,this.player.width=null!=(e=null==(e=this.player.player)?void 0:e.clientWidth)?e:0});this.resizeObserver=new ResizeObserver(e),this.resizeObserver.observe(this.player.player),e()})}}lf.controllerName="ResizerController",lf.requirements=[({player:e,ready:t})=>t&&!!e];class hf extends yn{constructor(){super(...arguments),this.preloadLinks=[],this.dnsPrefetchLinks=[],this.prerenderLinks=[]}static get SPEED_CODE_DOMAINS(){return["https://scripts.converteai.net","https://images.converteai.net","https://cdn.converteai.net","https://api.vturb.com"]}static get REQUIRED_LINKS_PRELOAD_AB(){return["https://scripts.converteai.net/{accountId}/ab-test/{playerId}/player.js","https://scripts.converteai.net/lib/js/smartplayer-wc/v4/smartplayer.js"]}static get REQUIRED_LINKS_PRELOAD(){return["https://scripts.converteai.net/{accountId}/players/{playerId}/v4/embed.html","https://scripts.converteai.net/{accountId}/players/{playerId}/v4/player.js","https://scripts.converteai.net/lib/js/smartplayer-wc/v4/smartplayer.js","https://images.converteai.net/{accountId}/players/{playerId}/thumbnail.jpg","https://cdn.converteai.net/{accountId}/{videoId}/main.m3u8"]}static get REQUIRED_LINKS_DNS_PREFETCH(){return["https://cdn.converteai.net","https://scripts.converteai.net","https://images.converteai.net","https://api.vturb.com.br"]}init(){this.logger.debug("initializing speed code detection"),this.player.addEventListener("player:ready",()=>{this.detectSpeedCode()},{once:!0})}requiredLinksTemplate(){var e,t=!!this.player.interface.originalId;return this.logger.debug("AB test detection",{isAbTest:t,abTestId:null==(e=this.player.interface.originalId)?void 0:e.replace("ab-test-","")}),[...t?hf.REQUIRED_LINKS_PRELOAD_AB:hf.REQUIRED_LINKS_PRELOAD,...hf.REQUIRED_LINKS_DNS_PREFETCH]}detectSpeedCode(){var e;this.logger.debug("starting speed code detection"),this.player.isIframe?this.logger.debug("iframe detected, skipping speed code detection"):(this.collectHeadLinks(),e={iframe:0,initializer:"player",present:(e=this.checkSpeedCodePresence())?1:0,correct:this.validateSpeedCode(e)?1:0,extra_links:this.collectExtraLinks()},this.logger.debug("detection result",e),this.notifyResult(e),this.logger.debug("speed code detection completed",e))}collectHeadLinks(){var e=Array.from(document.head.getElementsByTagName("link"));this.preloadLinks=e.filter(e=>"preload"===e.rel),this.dnsPrefetchLinks=e.filter(e=>"dns-prefetch"===e.rel),this.prerenderLinks=e.filter(e=>"prerender"===e.rel),this.logger.debug("collected head links",{preload:this.preloadLinks.length,dnsPrefetch:this.dnsPrefetchLinks.length,prerender:this.prerenderLinks.length})}checkSpeedCodePresence(){var e=[...this.preloadLinks,...this.dnsPrefetchLinks,...this.prerenderLinks],t=e.some(e=>{let t=e.href||"";return hf.SPEED_CODE_DOMAINS.some(e=>t.includes(e))});return this.logger.debug("speed code presence check",{isPresent:t,totalLinks:e.length}),t}validateSpeedCode(e){if(!e)return this.logger.debug("speed code validation skipped - not present"),!1;let t=[...this.preloadLinks,...this.dnsPrefetchLinks,...this.prerenderLinks],r=!!this.player.interface.originalId,i=null==(e=this.player.interface.originalId)?void 0:e.replace("ab-test-","");var e=this.requiredLinksTemplate().map(e=>e.replace("{accountId}",this.player.config.oid||"").replace("{playerId}",r?i||"":this.player.config.id||"").replace("{videoId}",(null==(e=this.player.config.video)?void 0:e.id)||"")),s=(this.logger.debug("processed required links",{requiredLinks:e,isAbTest:r,abTestId:i,playerId:this.player.config.id}),e.every(i=>t.some(e=>{var e=e.href||"",t=i.split("/").filter(e=>00r.some(e=>e.includes(t)||t.includes(e)))})));return this.logger.debug("speed code validation",{isCorrect:s,requiredLinks:e.length,foundLinks:t.length,isAbTest:r}),s}collectExtraLinks(){var e=this.preloadLinks.filter(e=>{let t=e.href||"";return hf.SPEED_CODE_DOMAINS.some(e=>t.includes(e.replace("https://","")))});this.logger.debug("all vturb preload links",e);let t=!!this.player.interface.originalId,r=null==(s=this.player.interface.originalId)?void 0:s.replace("ab-test-",""),i=(t?hf.REQUIRED_LINKS_PRELOAD_AB:hf.REQUIRED_LINKS_PRELOAD).map(e=>e.replace("{accountId}",this.player.config.oid||"").replace("{playerId}",t?r||"":this.player.config.id||"").replace("{videoId}",(null==(e=this.player.config.video)?void 0:e.id)||""));this.logger.debug("required links for extra detection",{isAbTest:t,abTestId:r,playerId:this.player.config.id,requiredLinks:i});var s=e.filter(e=>{let t=e.href||"";return!i.some(e=>{e=e.split("/").filter(e=>00r.some(e=>e.includes(t)||t.includes(e)))})}),n=0e.href),allVturbLinksDetails:e.map(e=>e.href),isAbTest:t}),n?1:0}sendAnalytics(e){try{this.player.controllers.analytics.event("speed_code_detected",{present:e.present,correct:e.correct,iframe:e.iframe,initializer:e.initializer,extra_links:e.extra_links}),this.logger.debug("analytics event sent",e)}catch(e){this.logger.warn("failed to send analytics event",e)}}notifyResult(e){this.sendAnalytics(e),this.player&&(this.player.dispatchEvent(new CustomEvent("speed-code-detected",{detail:e})),this.logger.debug("speed code detection event dispatched on Player",e)),this.logger.debug("speed code detection event dispatched",e)}}function Xn(e,t){if(!e)return null;var r=Math.round(255*t).toString(16).padStart(2,"0");if(e.startsWith("#"))return"#"+((i=e.replace("#","").replace(/[^0-9A-Fa-f]/g,"")).length<=4?i.slice(0,3).split("").map(e=>e+e).join(""):i.slice(0,6)).padEnd(6,"0")+r;if(e.startsWith("hsl")){var i=e.match(/hsl\(([^)]+)\)/);if(i)return`hsla(${i[1]} / ${t})`}if(e.startsWith("rgb")){var s,r=e.match(/\d+/g);if(r&&3<=r.length)return[i,r,s]=r,`rgba(${i}, ${r}, ${s}, ${t})`}return e}hf.controllerName="SpeedDetectorController";class df extends yn{init(){}styles(){var e;this.player.style.setProperty("--fakebar-background-color",null==(e=null==(e=this.player.config)?void 0:e.fakeBar)?void 0:e.color),this.player.style.setProperty("--fakebar-height",`${null!=(e=null==(e=this.player.config)?void 0:e.fakeBar)&&e.active?null==(e=null==(e=this.player.config)?void 0:e.fakeBar)?void 0:e.height:0}px`),this.player.style.setProperty("--resume-background-color",null==(e=null==(e=this.player.config)?void 0:e.resume)?void 0:e.backgroundColor),this.player.style.setProperty("--resume-foreground-color",null==(e=null==(e=this.player.config)?void 0:e.resume)?void 0:e.foregroundColor),this.player.style.setProperty("--style-background",null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background),this.player.style.setProperty("--style-background-100",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,1)),this.player.style.setProperty("--style-background-90",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,.9)),this.player.style.setProperty("--style-background-80",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,.8)),this.player.style.setProperty("--style-background-70",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,.7)),this.player.style.setProperty("--style-background-60",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,.6)),this.player.style.setProperty("--style-background-50",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.background,.5)),this.player.style.setProperty("--style-background-opacity","var(--style-background-80)"),this.player.style.setProperty("--style-foreground",null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground),this.player.style.setProperty("--style-foreground-100",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,1)),this.player.style.setProperty("--style-foreground-90",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,.9)),this.player.style.setProperty("--style-foreground-80",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,.8)),this.player.style.setProperty("--style-foreground-70",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,.7)),this.player.style.setProperty("--style-foreground-60",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,.6)),this.player.style.setProperty("--style-foreground-50",Xn(null==(e=null==(e=this.player.config)?void 0:e.style)?void 0:e.foreground,.5)),this.player.style.setProperty("--style-foreground-opacity","var(--style-foreground-80)")}}let G={accountId:"",cache:{hashingMethod:"md5",maxAge:36e5,namespace:"cacheHermes",storage:void 0},debug:!(df.controllerName="StyleController"),dryRun:!1,fetch:{base:"https://a.vturb.net/",beacon:"y",fetch:"x",gif:"g"},queue:{capacity:5e3,interval:5},retry:{fallbackToBeacon:!0,initialDelay:100,limit:3,retryOnResponseStatuses:[400,404,408,500,502,503,504]},unique:!0},z=function(){var e;if("undefined"==typeof window||!window.screen)return{};var t=["height","width","colorDepth","pixelDepth","availHeight","availWidth"],r={};for(let e=0;e ")};function Zn(e,t){return e[t]||(e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):e.parentNode?Zn(e.parentNode,t):null)}function Jn(){var e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}let Y=["utm_source","utm_medium","utm_campaign","utm_term","utm_content","src","sck"],Q={browserProfile:function(){return{codeName:navigator.appCodeName,cookies:void 0!==navigator.cookieEnabled&&navigator.cookieEnabled,description:(()=>{let e,t;return document&&"function"==typeof document.querySelector&&(t=document.querySelector('meta[name="description"]')),null!=(e=null==t?void 0:t.getAttribute("content"))?e:""})(),doNotTrack:navigator.doNotTrack,language:navigator.language,name:navigator.appName,online:navigator.onLine,platform:navigator.platform,screen:z(),useragent:navigator.userAgent,version:navigator.appVersion,window:Qn(window,document)}},datetimeIndex:function(e){return{day_of_month:(e=e||new Date).getDate(),day_of_week:e.getDay()+1,hour_of_day:e.getHours(),month:e.getMonth()+1,year:e.getFullYear()}},domainName:function(e){let t=(e=>{let t;return t=(t=(t=-1{try{let t=new URLSearchParams(new URL(e).search);return Object.fromEntries(Y.filter(e=>t.has(e)).map(e=>[e,t.get(e)]))}catch(e){return{}}},screenProfile:z,scrollState:function(e={}){return e=Object.assign({pixel:0,pixel_max:0,ratio:null,ratio_max:null},"object"==typeof e?e:{}),"undefined"==typeof window&&"undefined"==typeof document||(e.pixel=(void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop)+(window.innerHeight||document.documentElement.clientHeight),e.pixel>e.pixel_max&&(e.pixel_max=e.pixel),e.ratio=parseFloat(Number(e.pixel/Jn()).toFixed(2)),e.ratio_max=parseFloat(Number(e.pixel_max/Jn()).toFixed(2))),e},uniqueId:zs,windowProfile:Qn};class cf{constructor(e){this.level=e}debug(e){15==(15&this.level)&&console.debug(e)}error(e){1==(1&this.level)&&console.error(e)}info(e){7==(7&this.level)&&console.log(e)}warn(e){3==(3&this.level)&&console.warn(e)}}var Hs=Vs(2385),Hs=Vs.n(Hs),Ks=Vs(7744),Ks=Vs.n(Ks),Ys=Vs(4839),ea=Vs.n(Ys),Ys=Vs(5712),Ys=Vs.n(Ys),Ws=Vs(3495),Ws=Vs.n(Ws),qs=Vs(863),qs=Vs.n(qs);let Z=[Ws(),Ys(),qs()],J=[Hs(),Ks()],ee=(e,r)=>{let i=ea().createStore(Z,J,e);return{get(e,t){i.removeExpiredKeys();e=i.get(e,t);return null==e?null:e},instance:i,set(e,t){return i.set(e,t,Date.now()+r),t}}};var Ws=(a={domListeners:{}})=>{a.domListeners=a.domListeners||{};class t{constructor(e){this.doc=document,this.win=window,this.selector=e}off(r,i){if(2===arguments.length&&r){let t=[];a.domListeners[r][this.selector].forEach(e=>{e!==i&&e.fn!==i&&t.push(e)}),a.domListeners[r][this.selector]=t}else if(1===arguments.length&&r)try{delete a.domListeners[r][this.selector]}catch(e){a.domListeners[r][this.selector]=[]}else Object.keys(a.domListeners).forEach(t=>{try{delete a.domListeners[t][this.selector]}catch(e){a.domListeners[t][this.selector]=[]}});return this}on(e,t){var r,i,s,n,h,d;return 2===arguments.length&&"string"==typeof e&&"function"==typeof t&&(void 0===a.domListeners[e]&&(r=this.doc,i=e,n=this.doc,h=this.win,d=e,s=e=>{let o=e||h.event,l=o.target||o.srcElement;void 0!==a.domListeners[d]&&Object.entries(a.domListeners[d]).forEach(([e,t])=>{((e,t,r)=>{let i=t.parentNode||e,s=i.querySelectorAll(r),n=s.length;for(;n--;)if(s[n]===t)return 1})(n,l,e)?t.forEach(e=>{if("click"===d&&"A"===l.nodeName){var t=h,r=o,i=l,s=e,n=i.getAttribute("target");if("boolean"==typeof(s=s(r))&&!1===s||r.defaultPrevented)r.preventDefault(),r.returnValue=!1;else if("_blank"!==n&&"blank"!==n&&!r.metaKey&&!i.hasAttribute("download")&&(r.preventDefault(),r.returnValue=!1,i.href)&&"#"!==i.href&&i.href!==t.location+"#")if(void 0!==s){if("sendBeacon"in navigator)return void(t.location.href=i.href);s instanceof Promise&&s.then(()=>{t.location.href=i.href}).catch(()=>{t.location.href=i.href})}else setTimeout(()=>{t.location.href=i.href},500)}else if("submit"===d&&"FORM"===l.nodeName){var n=o,a=l,r=e;if("boolean"==typeof(r=r(n))&&!1===r||n.defaultPrevented||!1===n.returnValue)n.preventDefault(),n.returnValue=!1;else if(n.preventDefault(),n.returnValue=!1,void 0!==r){if("sendBeacon"in navigator)return void a.submit();r instanceof Promise&&r.then(()=>{a.submit()}).catch(()=>{a.submit()})}else setTimeout(()=>{a.submit()},500)}else e(o)}):"window"===e&&t.forEach(e=>{e(o)})})},r.addEventListener?r.addEventListener(i,s,!1):(r.attachEvent||(()=>{console.error("Keen: Unable to attach event listener.")})).call(r,"on"+i,s),a.domListeners[e]={}),a.domListeners[e][this.selector]=a.domListeners[e][this.selector]||[],a.domListeners[e][this.selector].push(t)),this}once(t,r){let i=(...e)=>(this.off(t,i),r.apply(this,e));return i.fn=r,this.on(t,i),this}}return e=>{if(e)return new t(e);throw new Error("Selector is required")}},Ys=Vs(2852),ta=Vs.n(Ys),qs=Vs(3627),Hs=Vs.n(qs);class uf extends Hs(){constructor(e={}){var t,r,i;super(),this.delayedFlush=(t=50,r=()=>this.flush(),i=(i||{}).atBegin,Wn(t,r,{debounceMode:!1!==(void 0!==i&&i)})),this.length=0,this.config=Object.assign(Object.assign({},G.queue),e),this.events={},this.interval=0,this.timer=null}add(e){return this.length++,this.events[e.id]=e,this.emit("add",e),this.check(),this}check(){return this.shouldFlushQueue()?this.delayedFlush():this.checkOverQueueCapacity()&&this.flush(),this}checkOverQueueCapacity(){return this.length>=this.config.capacity}flush(){var e=Object.values(this.events);return 0!==(e=this.filterTimedEvents(e)).length&&(this.length=0,this.interval=0,this.events={},this.emit("flush",e)),this}pause(){return"number"==typeof this.timer&&(clearInterval(this.timer),this.timer=null),this}start(){return this.pause(),this.timer=setInterval(()=>{this.interval+=100,this.check()},100),this}filterTimedEvents(t){let r=null,i=[];try{return t.forEach(e=>{"timed"===e.event?(!r||e.data.time>r.data.time)&&(r=e):i.push(e)}),r&&i.push(r),i}catch(e){return console.error(e),t}}shouldFlushQueue(){return 0=this.config.interval}}let te=uf,re=/^(?:submit|button|image|reset|file)$/i,ie=/^(?:input|select|textarea|keygen)/i,se=/(\[[^[\]]*])/g;function ra(e,t,r){var i;return t.match(se)?function e(t,r,i){var s,n;return 0===r.length?i:(n=null==(s=r.shift())?void 0:s.match(/^\[(.+?)]$/),"[]"===s?(t=t||[],(Array.isArray(t)?t:(t._values=t._values||[],t._values)).push(e(null,r,i))):!n&&s?t[s]=e(t[s],r,i):n&&n[1]&&(n=+(s=n[1]),isNaN(n)?(t=t||{})[s]=e(t[s],r,i):(t=t||[])[n]=e(t[n],r,i)),t)}(e,(e=>{let t=[],r=new RegExp(se),i=/^([^[\]]*)/.exec(e);for(i&&i[1]&&t.push(i[1]);null!==(i=r.exec(e));)t.push(i[1]);return t})(t),r):(i=e[t])?(Array.isArray(i)||(e[t]=[i]),e[t].push(r)):e[t]=r,e}function ia(e,t,r){return r=r.replace(/(\r)?\n/g,"\r\n"),r=(r=encodeURIComponent(r)).replace(/%20/g,"+"),e+(e?"&":"")+encodeURIComponent(t)+"="+r}function sa(e,r){"object"!=typeof r?r={hash:!!r}:void 0===r.hash&&(r.hash=!0);let i=r.hash?{}:"";var s=r.serializer||(r.hash?ra:ia),t=e&&e.elements?e.elements:[],n=Object.create(null);for(let e=0;e{e=e.cache,e=e.hashingMethod,t=JSON.stringify(t);return e&&"md5"===e.toLowerCase()?ta()(t):t},oe=(Ks=(e,t)=>{var r,e=Object.assign(Object.assign({},G),e);return!1===e.unique||(r=e.cache,t=JSON.stringify(t),e=ae(e,t),t={expiryTime:r.maxAge?Date.now()+r.maxAge:void 0,hash:e},r.storage?((e,t)=>{if(t){const r=t.get(e.hash,false);if(r)if(r.expiryTime&&r.expiryTime>Date.now())return Promise.resolve(false);t.set(e.hash,e)}return Promise.resolve(true)})(t,r.storage):(t=>{if(t.expiryTime){const r=Date.now();ne=ne.filter(e=>{var t;return(t=e.expiryTime)!==null&&t!==void 0?t:0>r})}const e=ne.find(e=>t.hash===e.hash);if(e)if(e.expiryTime&&e.expiryTimet.hash!==e.hash);else return Promise.resolve(false);return ne.push(t),Promise.resolve(true)})(t))},{BrowserStorage:Gs,ListenerCore:Ws,MD5:ta(),Queue:te,SerializeForm:sa,Timer:class{constructor(e){this.count=e||0}clear(){return this.count=0,this}pause(){return clearInterval(this.interval),this}start(){return this.pause(),this.interval=setInterval(()=>{this.count++},1e3),this}value(){return this.count}},Unique:Ks});var na,aa,Xs="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==Vs.g&&Vs.g||{},oa="URLSearchParams"in Xs,la="Symbol"in Xs&&"iterator"in Symbol,ha="FileReader"in Xs&&"Blob"in Xs&&(()=>{try{return new Blob,!0}catch(e){return!1}})(),da="FormData"in Xs,ca="ArrayBuffer"in Xs;function ua(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function fa(e){return e="string"!=typeof e?String(e):e}function pa(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return la&&(e[Symbol.iterator]=function(){return e}),e}function Qs(t){this.map={},t instanceof Qs?t.forEach(function(e,t){this.append(t,e)},this):Array.isArray(t)?t.forEach(function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function ga(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function ma(r){return new Promise(function(e,t){r.onload=function(){e(r.result)},r.onerror=function(){t(r.error)}})}function va(e){var t=new FileReader,r=ma(t);return t.readAsArrayBuffer(e),r}function ya(e){var t;return e.slice?e.slice(0):((t=new Uint8Array(e.byteLength)).set(new Uint8Array(e)),t.buffer)}function ba(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,(this._bodyInit=e)?"string"==typeof e?this._bodyText=e:ha&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:da&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:oa&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():ca&&ha&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=ya(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):ca&&(ArrayBuffer.prototype.isPrototypeOf(e)||aa(e))?this._bodyArrayBuffer=ya(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):oa&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},ha&&(this.blob=function(){var e=ga(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return ga(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(ha)return this.blob().then(va);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,i=ga(this);if(i)return i;if(this._bodyBlob)return i=this._bodyBlob,e=new FileReader,t=ma(e),r=(r=/charset=([A-Za-z0-9_-]+)/.exec(i.type))?r[1]:"utf-8",e.readAsText(i,r),t;if(this._bodyArrayBuffer)return Promise.resolve((e=>{for(var t=new Uint8Array(e),r=new Array(t.length),i=0;i{if("AbortController"in Xs)return(new AbortController).signal})(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i),"GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache||((r=/([?&])_=[^&]*/).test(this.url)?this.url=this.url.replace(r,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime())}function Sa(e){var r=new FormData;return e.trim().split("&").forEach(function(e){var t;e&&(t=(e=e.split("=")).shift().replace(/\+/g," "),e=e.join("=").replace(/\+/g," "),r.append(decodeURIComponent(t),decodeURIComponent(e)))}),r}function _a(e,t){if(!(this instanceof _a))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t=t||{},this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||599{try{return""===t&&Xs.location.href?Xs.location.href:t}catch(e){return t}})(n.url),!0),"include"===n.credentials?a.withCredentials=!0:"omit"===n.credentials&&(a.withCredentials=!1),"responseType"in a&&(ha?a.responseType="blob":ca&&(a.responseType="arraybuffer")),o&&"object"==typeof o.headers&&!(o.headers instanceof Qs||Xs.Headers&&o.headers instanceof Xs.Headers)?(r=[],Object.getOwnPropertyNames(o.headers).forEach(function(e){r.push(ua(e)),a.setRequestHeader(e,fa(o.headers[e]))}),n.headers.forEach(function(e,t){-1===r.indexOf(t)&&a.setRequestHeader(t,e)})):n.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),n.signal&&(n.signal.addEventListener("abort",t),a.onreadystatechange=function(){4===a.readyState&&n.signal.removeEventListener("abort",t)}),a.send(void 0===n._bodyInit?null:n._bodyInit)})}La.polyfill=!0,Xs.fetch||(Xs.fetch=La,Xs.Headers=Qs,Xs.Request=Ta,Xs.Response=_a);let le={REQUEST_ABORTED:"REQUEST_ABORTED",REQUEST_FALLBACK:"REQUEST_FALLBACK"};var ka=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class ff{constructor(e){this.isReady=!1,this.version="3.0.1",this.config=Object.assign(Object.assign({},G),e),this.browserProfile=Q.browserProfile(),this.queue=new te(this.config.queue),this.listeners=oe.ListenerCore,this.sessionStore=ee("hermes-session",108e5),this.sessionId=this.loadSessionId(),this.deviceStore=ee("hermes-device",31536e6),this.deviceId=this.loadDeviceId(),this.logger=new cf(this.config.debug?15:3),this.browserStore=ee("browser-info",6048e5),this.queue_started=!1}event(r,i,s){return ka(this,void 0,void 0,function*(){var e={accountId:this.config.accountId,createdAt:null,data:i||{},device:this.deviceId,event:r,id:null,metadata:Object.assign(Object.assign({},this.metadata),this.customMetadata),sessionId:this.sessionId},t=(e.id=ae(this.config,e),yield oe.Unique(this.config,e));return e.createdAt=Date.now(),t&&(this.config.dryRun?this.logger.debug("[dryRun] "+JSON.stringify(e)):this.queue.add(e)),s&&this.queue.flush(),this})}getUriWithTrafficParams(e){return this.browserStore.get("uri_with_traffic_params",e)||void 0}saveUriWithTrafficParams(e){e&&(e=>{try{let t=new URLSearchParams(new URL(e).search),r=!1;return Y.forEach(e=>{t.has(e)&&(r=!0)}),r}catch(e){return!1}})(e)&&this.browserStore.set("uri_with_traffic_params",e)}setup(e){this.uri=e.uri||window.location.href,this.saveUriWithTrafficParams(this.uri),e.uri=this.getUriWithTrafficParams(this.uri),this.customMetadata=e,this.isReady=!0}start(){return this.logger.debug("Starting Hermes v"+this.version),this.setupSystemMetadata(),this.configureEvents(),this.queue.start(),this}useStore(e){return this.config.cache.storage=ee(e,this.config.cache.maxAge),this}flush(t){return ka(this,void 0,void 0,function*(){try{"object"==typeof t&&"length"in t&&0===t.length||(this.logger.info(`Flushing ${t.length} events`),yield((o,e,l)=>{var t=Object.assign(Object.assign({},G.retry),l||{});let h=t.limit,d=t.initialDelay,c=t.retryOnResponseStatuses,u=t.fallbackToBeacon,f=t.__mockError||null,p=0,g={Accept:"application/json","Content-Type":"application/json",Origin:window.location.origin},m=JSON.stringify(e);if(c&&!(c instanceof Array))throw{message:"retryOn property expects an array",name:"ArgumentError"};let v;return"undefined"!=typeof AbortController&&(v=new AbortController),(t=new Promise(function(t,e){let r=f?e=>{f(e),t(e)}:t,i=f?e=>{f(e),t(e)}:e,s=function(e){u?(navigator.sendBeacon(""+o.base+o.beacon,m)?r:i)(le.REQUEST_FALLBACK):i(e)},n=function(t){var e=Object.assign(Object.assign({},l),{body:m,credentials:"same-origin",headers:g,method:"POST",mode:"cors",signal:null==v?void 0:v.signal});fetch(""+o.base+o.fetch,e).then(function(e){-1===c.indexOf(e.status)?r(e):0{null!=v&&v.abort()},t})(this.config.fetch,t,this.config.retry))}catch(e){this.logger.error(e),t.forEach(e=>{this.queue.add(e)})}})}loadDeviceId(){try{var e=this.deviceStore.get("hermes_device_id",zs());return this.deviceStore.set("hermes_device_id",e),e}catch(e){return this.logger.error(e),zs()}}loadSessionId(){try{var e=this.sessionStore.get("hermes_session_id",zs());return this.sessionStore.set("hermes_session_id",e),e}catch(e){return this.logger.error(e),zs()}}setupSystemMetadata(){var e=this.getUriWithTrafficParams(this.uri);this.metadata={event_version:this.version,traffic_origin_params:Q.getTrafficOriginParams(e),uri:e}}configureEvents(){this.queue_started||(this.queue.on("flush",this.flush.bind(this)),this.queue_started=!0),window.addEventListener("beforeunload",()=>{this.logger.debug("beforeunload"),this.queue.flush()})}}let he=ff,de=e=>/^(http:\/\/)?(www\.)?localhost:[0-9]{1,}(.*)$/gi.test(e.trim()),ce=e=>/^(https?:\/\/)?(www\.)?[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(:[0-9]+)?(.*)$/gi.test(e.trim()),ue=e=>/^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,}\.[a-z]{2,}\b(.*)$/gi.test(e.trim())||de(e.trim())||ce(e.trim()),fe=({search:e,logger:t})=>{try{if(!e.match(/[?&]vl=/))return null;t.debug("Parsing location vl param");var r=new URLSearchParams(e).get("vl");return r&&ue(decodeURIComponent(r))?new URL(decodeURIComponent(r)):null}catch(e){return t.error("Error parsing location vl param",e),null}},pe=({isIframe:e,logger:t})=>{var r=e||window.location!==window.parent.location;if(t.group("debug","getPlayerLocation").message("isUsingIframe",r).message("payload",{isIframe:e,isSameOrigin:window.location===window.parent.location}).end(),!r)return new URL(window.location.href);try{if(window.parent.location.href)return new URL(window.parent.location.href)}catch(e){t.warn("Error getting iframe domain from parent location",e)}try{if(ue(document.referrer))return new URL(document.referrer)}catch(e){t.error("Error getting iframe domain from referrer",e)}e=fe({search:window.location.search,logger:t});return null!=e&&e.hostname?e:new URL(window.location.href)};class pf{constructor(e,t,r){this.analytics=e,this.window=t,this.logger=r,this.elements=[],this.clickHandler=this.clickHandler.bind(this),this.window.addEventListener("click",this.clickHandler)}clickHandler(e){try{var t=e.target,t=this.findClickableParent(t);this.shouldHandleClickEvent(t)&&this.handleClickEvent(t,this.clickHandler)}catch(e){this.logger.error("Click: Error handling click event",e)}}findClickableParent(e){try{for(;e;){if(["A","BUTTON","INPUT"].includes(e.tagName))return e;e=e.parentElement}return null}catch(e){return this.logger.error("Click: Error finding clickable parent",e),null}}getElements(){return[...this.elements]}handleClickEvent(e,t){var r,i,s;"A"===e.tagName?(r=e.getAttribute("href"),i=this.window.location.href.split("#")[0],s=null==r?void 0:r.split("#")[0],!r||s===i||r.startsWith("#")||r.startsWith("javascript:")||this.handleRegisterClickEvent(t)):("BUTTON"===e.tagName||"INPUT"===e.tagName&&"submit"===e.type&&(s=e.form)&&s.action)&&this.handleRegisterClickEvent(t)}handleRegisterClickEvent(e){this.analytics.onPlayerExitClick(),this.window.removeEventListener("click",e)}matches(e,t){var r=Element.prototype;return(r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e);let r=t.length;for(;0<=--r&&t.item(r)!==this;);return-1{var e,t,r,i,s,n;if(!this.alreadySetup){this.alreadySetup=!0,this.logger.trace("Setting up Hermes");try{this.player.analytics=new he({accountId:this.config.oid,debug:"debug"===vn.level||"trace"===vn.level||this.config.preview,dryRun:this.config.preview,fetch:{base:"https://vt-h-1.b-cdn.net",beacon:"/y",fetch:"/x",gif:"/gif"},queue:{capacity:1e3,interval:10},retry:{fallbackToBeacon:!1,initialDelay:200,limit:5,retryOnResponseStatuses:[400,404,408,500,502,503,504]},unique:!1});({isIframe:i,logger:s}=[{isIframe:this.player.isIframe,logger:this.logger}][0]);var a=null!=(n=fe({search:window.location.search,logger:s}))&&n.hostname?n:pe({isIframe:i,logger:s});null!=(e=this.player.analytics)&&e.setup({domain:a.hostname,media_id:this.config.video.id,media_type:"video",path:a.pathname,player_id:this.config.id,player_version:"4.5.2",uri:a.toString()}),this.logger.trace("Starting Hermes"),null!=(t=this.player.analytics)&&t.start();try{null!=(r=this.player.logger)&&r.traceId&&this.event("trace_id",{trace_id:this.player.logger.traceId},!1)}catch(e){this.logger.error("Error sending trace_id",e)}this.event("pageview",null,!0),this.player.dispatchEvent(new CustomEvent(js.ANALYTICS_STARTED))}catch(e){this.logger.error("Error setting up Hermes",e)}}},this.onBeforeUnload=()=>{this.logger.trace("Before unload"),0{var e;this.logger.trace("Player exit click"),null!=(e=this.player.analytics)&&e.isReady?(e=Math.ceil(null!=(e=null==(e=this.player.video)?void 0:e.currentTime)?e:0),this.player.analytics.event("clicked",{time:e},!0)):this.logger.error("Player exit click event sent before analytics is ready")},this.onPreloadExpired=()=>{this.logger.trace("Preload expired"),this.customEvent("preload_expired",null)},this.onVideoEnded=e=>Ia(this,void 0,void 0,function*(){this.logger.trace("Video ended"),this.timed(!1),this.event("finished",null,!0),this.player.removeEventListener(js.VIDEO_ENDED,this.onVideoEnded)}),this.onVideoPause=e=>Ia(this,void 0,void 0,function*(){this.logger.trace("Video pause");var e,t=Math.round(null!=(t=null==(t=this.player.video)?void 0:t.currentTime)?t:0);t<=(null!=(e=null==(e=this.player.video)?void 0:e.duration)?e:0)-1&&this.event("paused",{time:t},!0)}),this.onVideoPlay=()=>Ia(this,void 0,void 0,function*(){this.logger.trace("Video play"),this.event("played",null,!1),this.timed(!0),this.player.removeEventListener(js.VIDEO_PLAY,this.onVideoPlay)}),this.onVideoTimeUpdate=e=>{4{let r=this.eventQueue.length-1;this.eventQueue.forEach((e,t)=>this.event(e.type,e.detail,t===r)),this.eventQueue=[]},{once:!0}),this.player.addEventListener(js.VIDEO_ENDED,this.onVideoEnded,{once:!0}),this.player.addEventListener(js.VIDEO_PAUSE,this.onVideoPause),this.player.addEventListener(js.VIDEO_PLAY,this.onVideoPlay,{once:!0}),this.player.addEventListener(js.VIDEO_TIMEUPDATE,this.onVideoTimeUpdate),this.player.addEventListener(js.PLAYER_READY,this.handlePlayerReady,{once:!0}),this.player.addEventListener(js.PLAYER_EXIT_CLICK,this.onPlayerExitClick,{once:!0}),null!=(e=this.player.interface)&&e.addEventListener(js.PRELOAD_EXPIRED,this.onPreloadExpired,{once:!0}),window.addEventListener("beforeunload",this.onBeforeUnload)}catch(e){this.logger.error("Error initializing analytics",e)}}metric(e,t){this.logger.debug(e+" Tracking",t),this.event("metric",{name:e,value:t},!1)}timed(){return Ia(this,arguments,void 0,function*(e=!1){var t,r,i;try{this.player.controllers.blockers.anyBlocker("played")&&(i=Math.round(null!=(r=null==(t=this.player.video)?void 0:t.currentTime)?r:0),(i-=i%this.timeControlDelay){e=1===i.length?i[0]:e.reduce((e,t,r)=>e+(()=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})()+i[r+1],i[0]);return new mf(e,i,ve)},be=me?e=>e:t=>{if(!(t instanceof CSSStyleSheet))return t;{let e="";for(var r of t.cssRules)e+=r.cssText;return t=e,new mf("string"==typeof t?t:t+"",void 0,ve)}},Ee,Te=window,Se=Te.trustedTypes,_e=Se?Se.emptyScript:"",Ae=Te.reactiveElementPolyfillSupport,we={toAttribute(e,t){switch(t){case Boolean:e=e?_e:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},Le=(e,t)=>t!==e&&(t==t||e==e),ke={attribute:!0,type:String,converter:we,reflect:!1,hasChanged:Le},Ie="finalized";class vf extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!=(t=this.h)?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();let r=[];return this.elementProperties.forEach((e,t)=>{e=this._$Ep(t,e);void 0!==e&&(this._$Ev.set(e,t),r.push(e))}),r}static createProperty(e,t=ke){var r;t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),t.noAccessor||this.prototype.hasOwnProperty(e)||(r="symbol"==typeof e?Symbol():"__"+e,void 0!==(r=this.getPropertyDescriptor(e,r,t))&&Object.defineProperty(this.prototype,e,r))}static getPropertyDescriptor(r,i,s){return{get(){return this[i]},set(e){var t=this[r];this[i]=e,this.requestUpdate(r,t,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||ke}static finalize(){if(this.hasOwnProperty(Ie))return!1;this[Ie]=!0;let e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(var r of t)this.createProperty(r,e[r])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){var t=[];if(Array.isArray(e)){var r=new Set(e.flat(1/0).reverse());for(let e of r)t.unshift(be(e))}else void 0!==e&&t.push(be(e));return t}static _$Ep(e,t){t=t.attribute;return!1===t?void 0:"string"==typeof t?t:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null!=(e=this.constructor.h)&&e.forEach(e=>e(this))}addController(e){var t;(null!=(t=this._$ES)?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&null!=(t=e.hostConnected)&&t.call(e)}removeController(e){var t;null!=(t=this._$ES)&&t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])})}createRenderRoot(){var i,e,t=null!=(t=this.shadowRoot)?t:this.attachShadow(this.constructor.shadowRootOptions);return i=t,e=this.constructor.elementStyles,me?i.adoptedStyleSheets=e.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet):e.forEach(e=>{var t=document.createElement("style"),r=ge.litNonce;void 0!==r&&t.setAttribute("nonce",r),t.textContent=e.cssText,i.appendChild(t)}),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null!=(e=this._$ES)&&e.forEach(e=>{var t;return null==(t=e.hostConnected)?void 0:t.call(e)})}enableUpdating(e){}disconnectedCallback(){var e;null!=(e=this._$ES)&&e.forEach(e=>{var t;return null==(t=e.hostDisconnected)?void 0:t.call(e)})}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$EO(e,t,r=ke){var i,s=this.constructor._$Ep(e,r);void 0!==s&&!0===r.reflect&&(i=(void 0!==(null==(i=r.converter)?void 0:i.toAttribute)?r.converter:we).toAttribute(t,r.type),this._$El=e,null==i?this.removeAttribute(s):this.setAttribute(s,i),this._$El=null)}_$AK(e,r){var i=this.constructor,s=i._$Ev.get(e);if(void 0!==s&&this._$El!==s){let e=i.getPropertyOptions(s),t="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null==(i=e.converter)?void 0:i.fromAttribute)?e.converter:we;this._$El=s,this[s]=t.fromAttribute(r,e.type),this._$El=null}}requestUpdate(e,t,r){let i=!0;void 0!==e&&(((r=r||this.constructor.getPropertyOptions(e)).hasChanged||Le)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===r.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,r))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}var e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(this.isUpdatePending){this.hasUpdated,this._$Ei&&(this._$Ei.forEach((e,t)=>this[t]=e),this._$Ei=void 0);let e=!1;var r=this._$AL;try{(e=this.shouldUpdate(r))?(this.willUpdate(r),null!=(t=this._$ES)&&t.forEach(e=>{var t;return null==(t=e.hostUpdate)?void 0:t.call(e)}),this.update(r)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(r)}}willUpdate(e){}_$AE(e){var t;null!=(t=this._$ES)&&t.forEach(e=>{var t;return null==(t=e.hostUpdated)?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach((e,t)=>this._$EO(t,this[t],e)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}vf[Ie]=!0,vf.elementProperties=new Map,vf.elementStyles=[],vf.shadowRootOptions={mode:"open"},null!=Ae&&Ae({ReactiveElement:vf}),(null!=(Ee=Te.reactiveElementVersions)?Ee:Te.reactiveElementVersions=[]).push("1.6.3");let Re=window,Ce=Re.trustedTypes,Pe=Ce?Ce.createPolicy("lit-html",{createHTML:e=>e}):void 0,De="$lit$",u=`lit$${(Math.random()+"").slice(9)}$`,xe="?"+u,Oe=`<${xe}>`,Me=document,Fe=()=>Me.createComment(""),Ne=e=>null===e||"object"!=typeof e&&"function"!=typeof e,Ue=Array.isArray,Be=e=>Ue(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]),$e="[ \t\n\f\r]",Ve=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ge=/-->/g,je=/>/g,He=RegExp(`>|${$e}(?:([^\\s"'>=/]+)(${$e}*=${$e}*(?:[^ \r"'\`<>=]|("|')|))|$)`,"g"),ze=/'/g,Ke=/"/g,Ye=/^(?:script|style|textarea|title)$/i,We=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),c=We(1),y=(We(2),Symbol.for("lit-noChange")),l=Symbol.for("lit-nothing"),qe=new WeakMap,Xe=Me.createTreeWalker(Me,129,null,!1);function Ca(e,t){if(Array.isArray(e)&&e.hasOwnProperty("raw"))return void 0!==Pe?Pe.createHTML(t):t;throw Error("invalid template strings array")}let Qe=(a,e)=>{let t=a.length-1,o=[],l,h=2===e?"":"",d=Ve;for(let n=0;n"===r[0]?(d=null!=l?l:Ve,i=-1):void 0===r[1]?i=-2:(i=d.lastIndex-r[2].length,t=r[1],d=void 0===r[3]?He:'"'===r[3]?Ke:ze):d===Ke||d===ze?d=He:d===Ge||d===je?d=Ve:(d=He,l=void 0);var c=d===He&&a[n+1].startsWith("/>")?" ":"";h+=d===Ve?e+Oe:0<=i?(o.push(t),e.slice(0,i)+De+e.slice(i)+u+c):e+u+(-2===i?(o.push(void 0),n):c)}return[Ca(a,h+(a[t]||"")+(2===e?"":"")),o]};class yf{constructor({strings:e,_$litType$:t},r){var i;this.parts=[];let s=0,n=0;var a=e.length-1,o=this.parts,[e,l]=Qe(e,t);if(this.el=yf.createElement(e,r),Xe.currentNode=this.el.content,2===t){let e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(i=Xe.nextNode())&&o.length{var i,s=null!=(s=null==r?void 0:r.renderBefore)?s:t;let n=s._$litPart$;if(void 0===n){let e=null!=(i=null==r?void 0:r.renderBefore)?i:null;s._$litPart$=n=new Ef(t.insertBefore(Fe(),e),e,void 0,null!=r?r:{})}return n._$AI(e),n},et,tt;class bn extends vf{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t=super.createRenderRoot();return null==(e=this.renderOptions).renderBefore&&(e.renderBefore=t.firstChild),t}update(e){var t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Je(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null!=(e=this._$Do)&&e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this._$Do)&&e.setConnected(!1)}render(){return y}}bn.finalized=!0,bn._$litElement$=!0,null!=(et=globalThis.litElementHydrateSupport)&&et.call(globalThis,{LitElement:bn}),null!=(Gs=globalThis.litElementPolyfillSupport)&&Gs({LitElement:bn}),(null!=(tt=globalThis.litElementVersions)?tt:globalThis.litElementVersions=[]).push("3.3.3");let rt=s=>e=>{var t,r,i;return"function"!=typeof e?(t=s,{kind:i,elements:r}=e,{kind:i,elements:r,finisher(e){customElements.define(t,e)}}):(i=e,customElements.define(s,i),i)};function Zs(s){return(e,t)=>{return void 0!==t?void e.constructor.createProperty(t,s):(r=s,"method"!==(i=e).kind||!i.descriptor||"value"in i.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:i.key,initializer(){"function"==typeof i.initializer&&(this[i.key]=i.initializer.call(this))},finisher(e){e.createProperty(i.key,r)}}:{...i,finisher(e){e.createProperty(i.key,r)}});var r,i}}function Js(e){return Zs({...e,state:!0})}let it=({finisher:s,descriptor:n})=>(r,t)=>{var i;if(void 0===t){let t=null!=(i=r.originalKey)?i:r.key,e=null!=n?{kind:"method",placement:"prototype",key:t,descriptor:n(r.key)}:{...r,key:t};return null!=s&&(e.finisher=function(e){s(e,t)}),e}{let e=r.constructor;void 0!==n&&Object.defineProperty(r,t,n(t)),null!=s&&s(e,t)}};function en(i,t){return it({descriptor:e=>{var r={get(){var e;return null!=(e=null==(e=this.renderRoot)?void 0:e.querySelector(i))?e:null},enumerable:!0,configurable:!0};if(t){let t="symbol"==typeof e?Symbol():"__"+e;r.get=function(){var e;return void 0===this[t]&&(this[t]=null!=(e=null==(e=this.renderRoot)?void 0:e.querySelector(i))?e:null),this[t]}}return r}})}function Da(t){return it({descriptor:e=>({async get(){var e;return await this.updateComplete,null==(e=this.renderRoot)?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}null!=(Ws=window.HTMLSlotElement)&&Ws.prototype.assignedElements,Ks=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var t=()=>{this.requestUpdate()};this.player.addEventListener(e,t),this._reRenderOn.push({event:e,fn:t})})}disconnectedCallback(){super.disconnectedCallback(),this.logger.debug("disconnectedCallback",{player:this.player}),this._reRenderOn.forEach(({event:e,fn:t})=>{this.player.removeEventListener(e,t)})}}Lf.componentName="Base",Lf.reRenderOn=[],Lf.styles=[],Ks([Zs({type:Object})],Lf.prototype,"player",void 0);class En extends Lf{createRenderRoot(){return this}}En.componentName="Playerable";class kf extends Lf{}function tn(t){return function(e){return customElements.get(t)||rt(t)(e),e}}kf.componentName="PlayerableShadow",kf.shadowRootOptions={mode:Ra()};class If{constructor(e,t){var r,i,s;this.clarityParams=e,this.logger=t,this.logger.debug("ClarityAction",{clarityParams:this.clarityParams}),r=window,e=document,i="clarity",t=this.clarityParams.params.id,r[i]=r[i]||function(...e){(r[i].q=r[i].q||[]).push(e)},(s=e.createElement("script")).async=!0,s.src="https://www.clarity.ms/tag/"+t,null!=(t=(e=e.getElementsByTagName("script")[0]).parentNode)&&t.insertBefore(s,e)}}var qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3xa(this,void 0,void 0,function*(){this.logger.debug("Fetching async actions",{response:t});var e=yield t.json();return this.logger.debug("Fetching async actions",{data:e,response:t}),{data:e,status:t.status}})).then(({data:e,status:t})=>{200===t?e.actions.forEach(e=>{"clarity"===e.action?new If(e,this.logger):this.logger.debug("Invalid action",{action:e})}):this.logger.debug("Invalid response from async actions",{data:e,status:t})}).catch(e=>{this.logger.debug("Error fetching async actions",{error:e})}):this.logger.debug("Missing companyId or playerId in player config",{companyId:e,playerId:t})}render(){return null}shouldUpdate(){return!1}},nt=(st.componentName="AsyncActions",st=qs([tn("vturb-async-actions")],st),c` `,c` `,c` `),at=c``,ot=c``,lt=c` `,ht=c` `,dt=c` `,ct=c` `,ut=c` `,ft=(c` `,c` `,c` `),pt=c` `,gt=c` `,mt=c` `,vt=c` `,yt=c``,bt=c``,Et=c` `,Tt=c` `,St=c` `,_t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},At=t=>(...e)=>({_$litDirective$:t,values:e});class Rf{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,r){this._$Ct=e,this._$AM=t,this._$Ci=r}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}let o=At(class extends Rf{constructor(e){if(super(e),e.type!==_t.ATTRIBUTE||"class"!==e.name||2<(null==(e=e.strings)?void 0:e.length))throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(e,[t]){var r,i,s;if(void 0===this.it){for(var n in this.it=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter(e=>""!==e))),t)!t[n]||null!=(r=this.nt)&&r.has(n)||this.it.add(n);return this.render(t)}let a=e.element.classList;for(s in this.it.forEach(e=>{e in t||(a.remove(e),this.it.delete(e))}),t){let e=!!t[s];e===this.it.has(s)||null!=(i=this.nt)&&i.has(s)||(e?(a.add(s),this.it.add(s)):(a.remove(s),this.it.delete(s)))}return y}});var Hs=e`.bezel{position:absolute;left:0;right:0;top:0;bottom:0;color:var(--bezel-color);pointer-events:none;display:var(--bezel-display);transform:translateY(0);transition:transform var(--base-transition)}.show-controls .bezel{transform:translateY(calc(-50% - (var(--control-padding) * 2 + 1.5rem)/ 2))}.bezel__icon{position:absolute;top:50%;left:50%;margin:calc(var(--bezel-icon-size)/-2) 0 0 calc(var(--bezel-icon-size)/-2);height:var(--bezel-icon-size);width:var(--bezel-icon-size);padding:var(--bezel-icon-padding);box-sizing:border-box;background:var(--bezel-background-color);border-radius:var(--bezel-border-radius);opacity:0;pointer-events:none;fill:var(--bezel-icon-fill)}.bezel__icon svg{width:100%;height:100%}.bezel__icon.bezel-transition{animation:bezel-hide var(--bezel-animation-duration) var(--bezel-animation-timing)}@keyframes bezel-hide{from{opacity:var(--bezel-opacity-start);transform:scale(var(--bezel-scale-start))}to{opacity:var(--bezel-opacity-end);transform:scale(var(--bezel-scale-end))}}.bezel__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:var(--bezel-loading-min-width);width:var(--bezel-loading-width);max-width:var(--bezel-loading-max-width)}.bezel__loading--hidden{display:none}.bezel__loading svg{width:100%;height:100%}`,Gs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3Oa(this,void 0,void 0,function*(){this.logger.debug("animateBezel"),(yield this.iconElement).classList.add("bezel-transition")}),this.onAnimationEnd=()=>Oa(this,void 0,void 0,function*(){this.logger.debug("onAnimationEnd"),(yield this.iconElement).classList.remove("bezel-transition")}),this.onForward=()=>{this.logger.debug("onForward"),this.switch("forward"),this.animateBezel()},this.onPause=()=>{this.logger.debug("onPause"),this.switch("pause"),this.animateBezel()},this.onPlay=()=>{this.logger.debug("onPlay"),this.switch("play"),this.animateBezel()},this.onCanPlay=()=>{this.logger.debug("onCanPlay"),this.loading=!1},this.onRewind=()=>{this.logger.debug("onRewind"),this.switch("rewind"),this.animateBezel()},this.onWaiting=()=>{var e;this.logger.debug("onWaiting"),this.loading=!0;let t=(null==(e=this.player.video)?void 0:e.currentTime)||0,r=()=>{var e;this.loading&&(null!=(e=this.player.video)&&e.currentTime&&this.player.video.currentTime>t?(this.logger.debug("onWaiting: loading false"),this.loading=!1):setTimeout(r,this.waitingTimeoutMS))};setTimeout(r,this.waitingTimeoutMS)}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_CANPLAY,this.onCanPlay),this.player.addEventListener(js.VIDEO_WAITING,this.onWaiting),this.player.addEventListener(js.VIDEO_PLAY,this.onPlay),this.player.addEventListener(js.VIDEO_PAUSE,this.onPause),this.player.addEventListener(js.VIDEO_FORWARD,this.onForward),this.player.addEventListener(js.VIDEO_REWIND,this.onRewind)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_CANPLAY,this.onCanPlay),this.player.removeEventListener(js.VIDEO_WAITING,this.onWaiting),this.player.removeEventListener(js.VIDEO_PLAY,this.onPlay),this.player.removeEventListener(js.VIDEO_PAUSE,this.onPause),this.player.removeEventListener(js.VIDEO_FORWARD,this.onForward),this.player.removeEventListener(js.VIDEO_REWIND,this.onRewind)}render(){var e=o({"bezel__loading--hidden":!this.loading});return c`
${this.icon} ${lt}
`}switch(e){switch(e){case"forward":this.icon=ft;break;case"pause":this.icon=dt;break;case"play":this.icon=ct;break;case"rewind":this.icon=pt;break;default:return}}},h=(t.componentName="Bezel",t.styles=[Hs],Gs([Zs({type:Boolean})],t.prototype,"_testing",void 0),Gs([Js()],t.prototype,"icon",void 0),Gs([Da(".bezel__icon")],t.prototype,"iconElement",void 0),Gs([Js()],t.prototype,"loading",void 0),t=Gs([tn("vturb-bezel")],t),At(class extends Rf{constructor(e){if(super(e),e.type!==_t.ATTRIBUTE||"style"!==e.name||2<(null==(e=e.strings)?void 0:e.length))throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(i){return Object.keys(i).reduce((e,t)=>{var r=i[t];return null==r?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(e,[r]){let i=e.element.style;if(void 0===this.ht){for(var t in this.ht=new Set,r)this.ht.add(t);return this.render(r)}for(var s in this.ht.forEach(e=>{null==r[e]&&(this.ht.delete(e),e.includes("-")?i.removeProperty(e):i[e]="")}),r){let t=r[s];if(null!=t){this.ht.add(s);let e="string"==typeof t&&t.endsWith(" !important");s.includes("-")||e?i.setProperty(s,e?t.slice(0,-11):t,e?"important":""):i[s]=t}}return y}})),wt=(Ws=e`.player .bigplay{width:var(--bigplay-base-size);height:var(--bigplay-base-size);border-radius:var(--bigplay-border-radius);padding:var(--bigplay-padding-y) var(--bigplay-padding-x);border:none;background-color:var(--bigplay-background);outline:0;cursor:pointer;box-sizing:border-box;bottom:0;opacity:var(--bigplay-opacity);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;transition:transform var(--base-transition)}.player .bigplay.hidden{display:none}.player .bigplay svg{cursor:pointer;width:100%;height:100%}.player.m-w-360 .bigplay{width:var(--bigplay-size-360);height:var(--bigplay-size-360)}.player.m-w-480 .bigplay{width:var(--bigplay-size-480);height:var(--bigplay-size-480)}.player.m-w-550 .bigplay{width:var(--bigplay-size-550);height:var(--bigplay-size-550)}.player.in-resume .bigplay,.player.smartplay .bigplay{display:none!important}.player.show-controls .bigplay{transform:translate(-50%,calc(-50% - (var(--control-padding) * 2 + 1.5rem)/ 2))}`,Ks=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.dispatchEvent(new CustomEvent(js.CONTROLS_ITEMS,{detail:{items:{bigplay:e}}}))},this.togglePlay=e=>{try{e.preventDefault(),e.stopPropagation(),this.player.controls.toggle(),this.player.controllers.bar.show(),this.player.dispatchEvent(new CustomEvent(js.CONTROL_BAR_CLOSER)),this.logger.debug("Toggle play clicked",{ev:e})}catch(e){this.logger.error("Error toggling play",e)}}}render(){var e=this.player.played,t=this.player.controllers.blockers.anyBlocker("resume","smartAutoPlay");if(e||t)return this.sendControlsEvent(!1),null;this.sendControlsEvent(!0);e=h({backgroundColor:this.player.config.style.background,fill:this.player.config.style.foreground});return c`
${ct}
`}});wt.componentName="BigPlay",wt.reRenderOn=[js.VIDEO_PAUSE,js.VIDEO_PLAY],wt.styles=Ws,wt=Ks([tn("vturb-bigplay")],wt);var Ma=Object.prototype.hasOwnProperty;function Fa(e,t,r){for(r of e.keys())if(Na(r,t))return r}function Na(e,t){var r,i,s;if(e===t)return 1;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((i=e.length)===t.length)for(;i--&&Na(e[i],t[i]););return-1===i}if(r===Set){if(e.size!==t.size)return;for(i of e){if((s=i)&&"object"==typeof s&&!(s=Fa(t,s)))return;if(!t.has(s))return}return 1}if(r===Map){if(e.size!==t.size)return;for(i of e){if((s=i[0])&&"object"==typeof s&&!(s=Fa(t,s)))return;if(!Na(i[1],t.get(s)))return}return 1}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)){if((i=e.byteLength)===t.byteLength)for(;i--&&e[i]===t[i];);return-1===i}if(!r||"object"==typeof e){for(r in i=0,e){if(Ma.call(e,r)&&++i&&!Ma.call(t,r))return;if(!(r in t&&Na(e[r],t[r])))return}return Object.keys(t).length===i}}return e!=e&&t!=t}let Lt=Ys.I,kt=()=>document.createComment(""),It=(i,e,s)=>{var n,a=i._$AA.parentNode,o=void 0===e?i._$AB:e._$AA;if(void 0===s){let e=a.insertBefore(kt(),o),t=a.insertBefore(kt(),o);s=new Lt(e,t,i,i.options)}else{let t=s._$AB.nextSibling,r=s._$AM,e=r!==i;if(e){let e;null!=(n=s._$AQ)&&n.call(s,i),s._$AM=i,void 0!==s._$AP&&(e=i._$AU)!==r._$AU&&s._$AP(e)}if(t!==o||e){let e=s._$AA;for(;e!==t;){var l=e.nextSibling;a.insertBefore(e,o),e=l}}}return s},Rt=(e,t,r=e)=>(e._$AI(t,r),e),Ct={},Pt=e=>{var t;null!=(t=e._$AP)&&t.call(e,!1,!0);let r=e._$AA;for(var i=e._$AB.nextSibling;r!==i;){let e=r.nextSibling;r.remove(),r=e}},Dt=(t,r,i)=>{var s=new Map;for(let e=r;e<=i;e++)s.set(t[e],e);return s},xt=At(class extends Rf{constructor(e){if(super(e),e.type!==_t.CHILD)throw Error("repeat() can only be used in text expressions")}ct(t,e,r){let i;void 0===r?r=e:void 0!==e&&(i=e);var s=[],n=[];let a=0;for(let e of t)s[a]=i?i(e,a):a,n[a]=r(e,a),a++;return{values:n,keys:s}}render(e,t,r){return this.ct(e,t,r).values}update(r,[e,t,i]){var s=r._$AH,{values:n,keys:a}=this.ct(e,t,i);if(!Array.isArray(s))return this.ut=a,n;var o,l=null!=(e=this.ut)?e:this.ut=[],h=[];let d,c,u=0,f=s.length-1,p=0,g=n.length-1;for(;u<=f&&p<=g;)if(null===s[u])u++;else if(null===s[f])f--;else if(l[u]===a[p])h[p]=Rt(s[u],n[p]),u++,p++;else if(l[f]===a[g])h[g]=Rt(s[f],n[g]),f--,g--;else if(l[u]===a[g])h[g]=Rt(s[u],n[g]),It(r,h[g+1],s[u]),u++,g--;else if(l[f]===a[p])h[p]=Rt(s[f],n[p]),It(r,s[u],s[f]),f--,p++;else if(void 0===d&&(d=Dt(a,p,g),c=Dt(l,u,f)),d.has(l[u]))if(d.has(l[f])){let e=c.get(a[p]),t=void 0!==e?s[e]:null;null===t?(o=It(r,s[u]),Rt(o,n[p]),h[p]=o):(h[p]=Rt(t,n[p]),It(r,s[u],t),s[e]=null),p++}else Pt(s[f]),f--;else Pt(s[u]),u++;for(;p<=g;){var m=It(r,h[g+1]);Rt(m,n[p]),h[p++]=m}for(;u<=f;){var v=s[u++];null!==v&&Pt(v)}return this.ut=a,[t,i=Ct]=[r,h],t._$AH=i,y}});class Cf{constructor(e,t){this.document=e,this.player=t,this.containers=new Map}getContainer(e){var t;return this.containers.has(e)?this.containers.get(e):((t=this.document.createElement("div")).classList.add("vturb-light-dom-inject"),t.setAttribute("slot",e),this.containers.set(e,t),t)}inject(e,t){this.player.interface&&(t=this.getContainer(t),Je(e,t),this.player.interface.appendChild(t))}destroy(){var e;null!=(e=this.player)&&e.interface&&this.containers.forEach((e,t)=>{try{this.player.interface.removeChild(e),this.containers.delete(t)}catch(e){this.player.logger.warn("Error removing light dom container",e)}})}}let i=(e,t)=>new CustomEvent(e,{detail:t});var Ua,qs=e`vturb-call-action,vturb-call-action-v2{display:block}.callaction__slot{display:block}.callaction__slot--lg{font-size:var(--anchor-button-font-size-lg)}.callaction__slot--md{font-size:var(--anchor-button-font-size-md)}.callaction__slot--sm{font-size:var(--anchor-button-font-size-sm)}.callaction--outside{display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:var(--anchor-button-base-font-size)}.callaction--outside .callaction__slot:not(.callaction__slot--html){margin:var(--callaction-button-margin) 0}.callaction--inside{position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none;z-index:var(--callaction-index);font-size:var(--anchor-button-base-font-size)}.callaction--inside .callaction__slot{position:absolute}.callaction--inside .callaction__slot--tl{top:var(--callaction-button-margin);left:var(--callaction-button-margin)}.callaction--inside .callaction__slot--tc{top:var(--callaction-button-margin);left:50%;transform:translateX(-50%)}.callaction--inside .callaction__slot--tr{top:var(--callaction-button-margin);right:var(--callaction-button-margin)}.callaction--inside .callaction__slot--cl{top:50%;left:var(--callaction-button-margin);transform:translateY(-50%)}.callaction--inside .callaction__slot--cc{top:50%;left:50%;transform:translate(-50%,-50%)}.callaction--inside .callaction__slot--cr{top:50%;right:var(--callaction-button-margin);transform:translateY(-50%)}.callaction--inside .callaction__slot--bl{bottom:var(--callaction-button-margin);left:var(--callaction-button-margin)}.callaction--inside .callaction__slot--bc{bottom:var(--callaction-button-margin);left:50%;transform:translateX(-50%)}.callaction--inside .callaction__slot--br{bottom:var(--callaction-button-margin);right:var(--callaction-button-margin)}`,Hs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.alreadyPlayed&&this.player.video&&(this.injectInitialElements(),this.changeActiveItemsByTime(this.player.video.currentTime))},this.onTimeUpdate=e=>{e=e.detail.time;this.changeActiveItemsByTime(e)}}static shouldLoad(e,t){return e.callActions.active&&0t.includes(e.type))}get callActions(){var e;return 1===(null==(e=null==(e=null==(e=this.player)?void 0:e.config)?void 0:e.callActions)?void 0:e.version)&&(null==(e=null==(e=null==(e=this.player)?void 0:e.config)?void 0:e.callActions)?void 0:e.items)||[]}get callActionsByType(){return this.callActions.filter(e=>this.types.includes(e.type))}get callActionPositionType(){return this.types.includes("inner_button")?"inside_video":"outside_video"}connectedCallback(){super.connectedCallback(),this.lightDomInjector=new Cf(this.doc,this.player),this.injectInitialElements(),setTimeout(()=>{this.player.dispatchEvent(i(js.CALLACTION_CONNECTED,{version:1,items:this.callActions,type:this.callActionPositionType})),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated)},Ua.DELAY_AFTER_PLAY)}disconnectedCallback(){var e;super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated),this.player.dispatchEvent(i(js.CALLACTION_DISCONNECTED,{version:1})),null!=(e=this.lightDomInjector)&&e.destroy(),this.destroyed=!0}getItems(e){if(this.player.controllers.blockers.anyBlocker("smartAutoPlay","resume"))return[];let t=Math.floor(e);return this.callActionsByType.filter(e=>t>=e.range.start&&t<=e.range.finish)}changeActiveItemsByTime(e){try{var t=[...this.activeItems.values()],r=this.getItems(e);Na(t,r)||(this.activeItems=new Map(r.map(e=>[e.id,e])),this.player.dispatchEvent(i(js.CALLACTION_CURRENT_ACTIVE_ITEMS,{items:r,version:1,type:this.callActionPositionType})))}catch(e){this.logger.error("Error updating active items by time",e)}}createCTAIdentifier(e){return"callaction-button-"+e.id}createButton(e){var t=h({"--anchor-button-background-color":e.colors.background,"--anchor-button-background-color-hover":e.colors.backgroundHover,"--anchor-button-color":e.colors.text,"--anchor-button-color-hover":e.colors.textHover}),r=this.createCTAIdentifier(e);return{button:c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.logger} content=${e.content} href=${e.link} id=${r} size=${e.size} style=${t} > `,id:r}}createCustomHtml(e){var t,r=this.createCTAIdentifier(e);return{customHtml:c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} id=${r} class="smartplayer-callaction__html" > `,id:r}}createCallActionSlot(e){var t=this.createCTAIdentifier(e),r=h({display:this.activeItems.has(e.id)?"block":"none"}),i=new Map;return"below_button"!==e.type&&"inner_button"!==e.type||i.set("callaction__slot--"+e.size,!0),"inner_button"===e.type&&i.set("callaction__slot--"+(e.position||"tc"),!0),"custom_html"===e.type&&i.set("callaction__slot--html",!0),c` `}injectInitialElements(){this.callActionsByType.forEach(e=>{var t,r,i;"below_button"!==e.type||this.player.isIframe||({button:t,id:r}=this.createButton(e),null!=(i=this.lightDomInjector)&&i.inject(t,r)),"custom_html"!==e.type||this.player.isIframe||({customHtml:i,id:t}=this.createCustomHtml(e),null!=(r=this.lightDomInjector)&&r.inject(i,t)),"inner_button"===e.type&&({button:r,id:i}=this.createButton(e),null!=(t=this.lightDomInjector))&&t.inject(r,i)})}render(){var e;return this.destroyed?c``:(e=this.types.includes("inner_button")?"inside":"outside",c`
${xt(this.activeItems.values(),e=>e.id,e=>this.createCallActionSlot(e))}
`)}},Ot=(d.componentName="CallAction",d.DELAY_AFTER_PLAY=200,d.styles=[qs],Hs([Js()],d.prototype,"activeItems",void 0),Hs([Js()],d.prototype,"destroyed",void 0),Hs([Zs({type:Array})],d.prototype,"types",void 0),d=Ua=Hs([tn("vturb-call-action")],d),(e,t,r)=>{var i;e.getElementById(t)||((i=e.createElement("link")).id=t,i.setAttribute("href",r),i.setAttribute("rel","stylesheet"),i.setAttribute("type","text/css"),e.head.appendChild(i))}),Mt=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e;this.player.alreadyPlayed&&this.player.video&&(null!=(e=this.lightDomInjector)&&e.destroy(),this.changeActiveItemsByTime(this.player.video.currentTime))},this.onPlayerReady=()=>{this.player.video&&this.changeActiveItemsByTime(this.player.video.currentTime)},this.onTimeUpdate=e=>{e=e.detail.time;this.changeActiveItemsByTime(e)}}static shouldLoad(e,t){return e.callActions.active&&0e.type===t)}get version(){var e=null==(e=null==(e=null==(e=this.player)?void 0:e.config)?void 0:e.callActions)?void 0:e.version;return Ft.includes(e)?e:3}get callActions(){var e;return Ft.includes(null==(e=null==(e=null==(e=this.player)?void 0:e.config)?void 0:e.callActions)?void 0:e.version)&&(null==(e=null==(e=null==(e=this.player)?void 0:e.config)?void 0:e.callActions)?void 0:e.items)||[]}get callActionsByType(){return this.callActions.filter(e=>this.type===e.type).map(e=>Object.assign(Object.assign({},e),{_is_show_to_returning_viewer:e.show_to_returning_viewer&&this.player.store.get("callaction-show-to-returning-viewer-"+e.id,!1)}))}connectedCallback(){super.connectedCallback(),this.lightDomInjector=new Cf(this.doc,this.player),setTimeout(()=>{this.player.dispatchEvent(i(js.CALLACTION_CONNECTED,{version:this.version,items:this.callActions,type:this.type})),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated),this.player.addEventListener(js.PLAYER_READY,this.onPlayerReady)},200)}disconnectedCallback(){var e;super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated),this.player.removeEventListener(js.PLAYER_READY,this.onPlayerReady),this.player.dispatchEvent(i(js.CALLACTION_DISCONNECTED,{version:this.version})),null!=(e=this.lightDomInjector)&&e.destroy(),this.destroyed=!0}getItems(e){var t=this.player.controllers.blockers.anyBlocker("played");let r=this.player.controllers.blockers.anyBlocker("smartAutoPlay","resume")||!t,i=Math.floor(e);return this.callActionsByType.filter(e=>!!e._is_show_to_returning_viewer||!r&&i>=e.range.start&&(!!e.persist_on_video_end||i<=e.range.finish))}scrollToElement(e){for(var t of e)if(t.scroll_enabled){var r=Va(this,Ba,"f").get(t.id)||Va(this,$a,"f").get(t.id);if(r&&!r.alreadyScrolled&&!t._is_show_to_returning_viewer){r.handleScrollTo(t.scroll_offset),this.player.controllers.fullscreen.cancel();break}}e.forEach(e=>{e=Va(this,Ba,"f").get(e.id)||Va(this,$a,"f").get(e.id);e&&(e.alreadyScrolled=!0)})}changeActiveItemsByTime(e){try{var t=[...this.activeItems.values()],r=this.getItems(e);Na(t,r)||(this.activeItems=new Map(r.map(e=>[e.id,e])),this.scrollToElement(r),r.forEach(e=>{e.show_to_returning_viewer&&this.player.store.set("callaction-show-to-returning-viewer-"+e.id,!0)}),this.player.dispatchEvent(i(js.CALLACTION_CURRENT_ACTIVE_ITEMS,{items:r,version:2,type:this.type})))}catch(e){this.logger.error("Error updating active items by time",e)}}createCTAIdentifier(e){return"callaction-button-"+e}createOutsideButton(t){var e=h({"--anchor-button-background-color":t.styles.background_color,"--anchor-button-background-color-hover":t.styles.background_hover_color,"--anchor-button-color":t.styles.text_color,"--anchor-button-color-hover":t.styles.text_hover_color,"--anchor-button-padding":""+t.styles.padding.values.map(e=>e+"px").join(" "),"--anchor-button-border-radius":t.styles.border_radius+"px","--anchor-button-font-size":t.typography.size+"px","--anchor-button-line-height":t.typography.line_height+"%","--anchor-button-letter-spacing":t.typography.letter_spacing+"px","--anchor-button-font-family":t.typography.family,"--anchor-button-font-weight":t.typography.weight,"--anchor-button-shadow-horizontal":t.styles.shadow.horizontal+"px","--anchor-button-shadow-vertical":t.styles.shadow.vertical+"px","--anchor-button-shadow-blur":t.styles.shadow.blur+"px","--anchor-button-shadow-spread":t.styles.shadow.spread+"px","--anchor-button-shadow-color":t.styles.shadow.color}),r=this.createCTAIdentifier(t.id);return{button:c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.logger} content=${t.content} href=${t.url} id=${r} style=${e} @connected=${e=>Va(this,Ba,"f").set(t.id,e.detail)} @disconnected=${e=>Va(this,Ba,"f").delete(t.id)} > `,id:r}}createInsideRichElement(e){var t=this.createCTAIdentifier(e.id);return{richElement:c` `,id:t}}createOutsideImage(t){var e=this.createCTAIdentifier(t.id),r=h({width:t.image_styles.width+"px",height:t.image_styles.height+"px",opacity:t.image_styles.opacity+"%",maxWidth:"95vw"});return{image:c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.logger} href=${t.url} id=${e} image_url=${t.image_url} style=${r} @connected=${e=>Va(this,Ba,"f").set(t.id,e.detail)} @disconnected=${e=>Va(this,Ba,"f").delete(t.id)} > `,id:e}}createCustomHtml(t){var e,r=this.createCTAIdentifier(t.id);return{customHtml:c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} id=${r} class="smartplayer-callaction__html" @connected=${e=>Va(this,Ba,"f").set(t.id,e.detail)} @disconnected=${e=>Va(this,Ba,"f").delete(t.id)} > `,id:r}}createDelayElement(t){var e=this.createCTAIdentifier(t.id);return{delayElement:c` Va(this,$a,"f").set(t.id,e.detail)} @disconnected=${e=>Va(this,$a,"f").delete(t.id)} > `,id:e}}createCallActionSlot(e){var t=this.createCTAIdentifier(e.id),r=h({display:this.activeItems.has(e.id)?"block":"none"}),i=new Map;return e.as_html&&i.set("callaction__slot--html",!0),c` `}injectInitialElements(){this.callActionsByType.forEach(e=>{var t,r,i;if(e.as_html&&e.delay)return{delayElement:i,id:t}=this.createDelayElement(e),null==(r=this.lightDomInjector)?void 0:r.inject(i,t);"outside_video"!==e.type||this.player.isIframe||(e.as_html?({customHtml:r,id:i}=this.createCustomHtml(e),null!=(t=this.lightDomInjector)&&t.inject(r,i)):e.image_as_button?({image:t,id:r}=this.createOutsideImage(e),null!=(i=this.lightDomInjector)&&i.inject(t,r)):({button:i,id:t}=this.createOutsideButton(e),null!=(r=this.lightDomInjector)&&r.inject(i,t))),"inside_video"===e.type&&(e.as_html?this.logger.warn("HTML call actions are not supported inside the video"):({richElement:r,id:i}=this.createInsideRichElement(e),null!=(t=this.lightDomInjector)&&t.inject(r,i)))})}importFontFamily(e){let t,r,i,s,n,a,o,l,h="",d="";"outside_video"===e.type?(h=null==(t=e.typography)?void 0:t.family,d=null==(r=e.typography)?void 0:r.embedLink):"inside_video"===e.type&&(h=(null==(n=null==(s=null==(i=e.rich_element)?void 0:i.properties)?void 0:s.typography)?void 0:n.family)||"",d=(null==(l=null==(o=null==(a=e.rich_element)?void 0:a.properties)?void 0:o.typography)?void 0:l.embedLink)||""),h&&d&&(e="vturb-callaction-font-"+h.toLowerCase().replace(/\W+/g,"-"),Ot(document,e,d))}render(){var e;return this.destroyed?c``:(e="inside_video"===this.type?"inside":"outside",this.injectInitialElements(),this.callActionsByType.sort((e,t)=>(this.activeItems.has(e.id)?1:0)-(this.activeItems.has(t.id)?1:0)).forEach(e=>{var t;e.as_html||e.image_as_button||this.importFontFamily(e),e.as_html&&e.delay&&(t=Va(this,$a,"f").get(e.id))&&t.toggleVisibility(this.activeItems.has(e.id))}),c`
${xt(this.activeItems.values(),e=>e.id,e=>this.createCallActionSlot(e))}
`)}},Nt=(Ba=new WeakMap,$a=new WeakMap,f.componentName="CallActionV2",f.styles=[qs],Mt([Js()],f.prototype,"activeItems",void 0),Mt([Js()],f.prototype,"destroyed",void 0),Mt([Zs({type:String})],f.prototype,"type",void 0),f=Mt([tn("vturb-call-action-v2")],f),{en:{backward:"Backward",blocked:"Blocked",forward:"Forward",fullscreen:"Fullscreen","license.blocked.by_rule":"Unable to display the video!","license.blocked.default_message":"BLOCKED","license.blocked.domain_not_allowed":"This domain is not in the list of allowed domains! Update the domain settings in the panel.","license.blocked.indefinite_block":"This domain has been blocked indefinitely. Contact support to learn more.","license.blocked.payment_open":"Your invoice is pending. Update your payment method in the panel.",loop:"Loop",pause:"Pause",play:"Play",poweredBy:"Powered by VTurb",poweredByLink:"https://www.vturb.com/en/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"Optimize Your VSL Now!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_en","contextmenu.wantToOptimizeYourVsl":"Want to Optimize Your VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_en","contextmenu.clickToOptimizeYourVslCheckEmoji":"Click to Optimize Your VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_en",replay:"Replay",resume:"Resume","resume.play":"Continue watching","resume.replay":"Watch from beginning","resume.title":"You have already started watching this","smallplay.pause":"Pause","smallplay.play":"Play",speed:"Speed","speed.normal":"Normal","volume.control":"Volume control"},pt:{backward:"Backward",blocked:"Bloqueado",forward:"Forward",fullscreen:"Fullscreen","license.blocked.by_rule":"Não foi possível exibir o vídeo!","license.blocked.default_message":"BLOQUEADO","license.blocked.domain_not_allowed":"Este domínio não está na lista de domínios permitidos! Atualize as configurações de domínios no painel.","license.blocked.indefinite_block":"Esse domínio foi bloqueado por tempo indeterminado. Contate o suporte para saber mais.","license.blocked.payment_open":"Sua fatura está em aberto. Atualize o método de pagamento no painel.",loop:"Repetir",pause:"Pause",play:"Play",poweredBy:"Conheça o VTurb",poweredByLink:"https://www.vturb.com/pt-BR/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"Otimize Seu VSL Agora!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_pt-br","contextmenu.wantToOptimizeYourVsl":"Quer Otimizar Seu VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_pt-br","contextmenu.clickToOptimizeYourVslCheckEmoji":"Clique Para Otimizar Seu VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_pt-br",replay:"Reativar",resume:"Resumir","resume.play":"Continuar assistindo","resume.replay":"Assistir do início","resume.title":"Você já começou a assistir isso","smallplay.pause":"Pausar","smallplay.play":"Reproduzir",speed:"Velocidade","speed.normal":"Normal","volume.control":"Controle de volume"},es:{backward:"Retroceder",blocked:"Bloqueado",forward:"Avanzar",fullscreen:"Pantalla completa","license.blocked.by_rule":"¡No se puede mostrar el video!","license.blocked.default_message":"BLOQUEADO","license.blocked.domain_not_allowed":"¡Este dominio no está en la lista de dominios permitidos! Actualiza la configuración de dominio en el panel.","license.blocked.indefinite_block":"Este dominio ha sido bloqueado indefinidamente. Contacta al soporte para obtener más información.","license.blocked.payment_open":"Tu factura está pendiente. Actualiza tu método de pago en el panel.",loop:"Repetir",pause:"Pausar",play:"Reproducir",poweredBy:"Desarrollado por VTurb",poweredByLink:"https://www.vturb.com/en/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"¡Optimiza Tu VSL Ahora!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_es","contextmenu.wantToOptimizeYourVsl":"¿Quieres Optimizar Tu VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_es","contextmenu.clickToOptimizeYourVslCheckEmoji":"Haz Clic para Optimizar Tu VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_es",replay:"Repetir",resume:"Reanudar","resume.play":"Continuar viendo","resume.replay":"Ver desde el principio","resume.title":"Ya has comenzado a ver esto","smallplay.pause":"Pausar","smallplay.play":"Reproducir",speed:"Velocidad","speed.normal":"Normal","volume.control":"Control de volumen"}}),Ut="en",s=e=>(Nt[Ut]||(console.warn(`Language ${Ut} not found`),Nt.en))[e],r=(Gs=e`.contextmenu{position:fixed;background:rgba(0,0,0,.9);z-index:1002;align-items:center;display:flex;font-size:18px;border-radius:.3em}.contextmenu a{display:inline-block;padding:.7em 1em;cursor:pointer;text-decoration:none;color:#fff;min-width:10.625em;text-align:left;font-size:.8em;pointer-events:auto;white-space:nowrap}.contextmenu a:hover{background-color:hsla(0,0%,100%,.1)}.contextmenu__backdrop{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1001;pointer-events:auto}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{e.stopPropagation(),this.visible=!1},this.show=e=>{e.preventDefault(),this.visible=!0,this.x=e.clientX,this.y=e.clientY,this.link=s("poweredByLink"),this.text=s("poweredBy");let t=e.clientX;this.updateComplete.then(()=>{var e=this.querySelector(".contextmenu");e&&(e=e.getBoundingClientRect().width,this.x+e>window.innerWidth)&&(this.x=Math.max(0,t-e))})}}connectedCallback(){var e;super.connectedCallback(),null!=(e=this.player.player)&&e.addEventListener("contextmenu",this.show)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player.player)&&e.removeEventListener("contextmenu",this.show)}render(){if(this.visible)return c`
`}}),Bt=(r.styles=[Gs],Ws([Js()],r.prototype,"link",void 0),Ws([Js()],r.prototype,"text",void 0),Ws([Js()],r.prototype,"visible",void 0),Ws([Js()],r.prototype,"x",void 0),Ws([Js()],r.prototype,"y",void 0),r=Ws([tn("vturb-context-menu")],r),t=>e=>{if(In()&&"click"===e.type)try{"function"==typeof e.preventDefault&&e.preventDefault(),"function"==typeof e.stopPropagation&&e.stopPropagation()}catch(e){}else t(e,In())}),$t=(Ks=e`.player.forward{pointer-events:auto}.player.forward svg{fill:inherit}`,Ys=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.video&&(e.stopPropagation(),this.player.dispatchEvent(new CustomEvent(js.VIDEO_FORWARD)),this.player.controllers.bar.show(),this.player.controls.seek(this.player.video.currentTime+10))}),this.noop=Bt(e=>{e.stopPropagation(),e.preventDefault()})}render(){var e=h({color:this.player.config.style.foreground,fill:this.player.config.style.foreground});return c` `}});function rn(e,t,r){return e?t():null==r?void 0:r()}$t.styles=Ks,$t=Ys([tn("vturb-forward")],$t),Hs=e`.player.fullscreen{pointer-events:auto}.player.fullscreen svg{fill:inherit}`,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.controllers.fullscreen.toggle()}}render(){var e=h({color:this.player.config.style.foreground,fill:this.player.config.style.foreground});return c` `}};Vt.reRenderOn=[js.FULLSCREEN_ENTER,js.FULLSCREEN_EXIT],Vt.styles=Hs,Vt=qs([tn("vturb-fullscreen")],Vt);var Gs=e`.progress-bar{position:relative;width:100%;cursor:pointer;align-items:center!important;justify-content:center!important}.progress-bar__background{position:relative;width:100%;height:var(--progressbar-height);background-color:var(--progressbar-background-color)}.progress-bar__buffer{position:absolute;top:0;left:0;height:100%;background-color:var(--progressbar-buffer-color,rgba(255,255,255,.4));visibility:hidden}.progress-bar__fill{position:absolute;top:0;left:0;height:100%;background-color:var(--progressbar-fill-color,var(--style-foreground))}.progress-bar__handle{position:absolute;top:50%;left:0;width:var(--progressbar-handle-size);height:var(--progressbar-handle-size);background-color:var(--progressbar-handle-color);border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0}.progress-bar__backdrop{position:absolute;top:-100vh;left:-100vw;width:300vw;height:300vh;background-color:rgba(0,0,0,0);display:none;z-index:1}.progress-bar__time-tooltip{position:absolute;bottom:50%;left:0;padding:4px 8px;background-color:rgba(0,0,0,.8);color:#fff;font-size:.75em;border-radius:4px;transform:translateX(-50%) translateY(-10px);display:none}.progress-bar:hover .progress-bar__handle{transform:translate(-50%,-50%) scale(1);opacity:1}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{e=e.detail.video,e=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;this.elProgressBarBuffer.style.width=100*e+"%"},this.intervalObserver=()=>{!this.dragging&&this.player.video&&this.onTimeUpdate(this.player.video.currentTime)}}connectedCallback(){let e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return Ga(this,void 0,void 0,function*(){e.connectedCallback.call(this),this.logger.debug("ProgressBar connected"),this.player.addEventListener(js.VIDEO_PROGRESS,this.eventOnProgress),this.intervalId=setInterval(this.intervalObserver,50)})}disconnectedCallback(){var e;super.disconnectedCallback(),this.logger.debug("ProgressBar disconnected"),null!=(e=this.player)&&e.removeEventListener(js.VIDEO_PROGRESS,this.eventOnProgress),this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}onClick(e){var t,r=this.getProgress(e,this.elProgressBar);this.player.controls.seek(r*(null!=(t=null==(t=this.player.video)?void 0:t.duration)?t:1)),window.TouchEvent&&e instanceof TouchEvent&&0<(null==(t=null==e?void 0:e.touches)?void 0:t.length)&&(this.showTooltip(this.elProgressBarTimeTooltip,r),this.scheduleTooltipHide()),this.dragging=!1,this.elProgressBarBackdrop.style.display="none"}onMouseDown(e){this.dragging=!0,this.elProgressBarBackdrop.style.display="block",this.onMouseMove(e)}onMouseEnter(e){this.onMouseMove(e)}onMouseLeave(e){window.TouchEvent&&e instanceof TouchEvent&&this.onClick(e),this.elProgressBarTimeTooltip.style.display="none"}onMouseMove(e){var t;this.elProgressBarTimeTooltip&&this.elProgressBar&&(t=(e=this.getProgress(e,this.elProgressBar))*(null!=(t=null==(t=this.player.video)?void 0:t.duration)?t:1),this.tooltipProgress=e,this.elProgressBarTimeTooltip.textContent=this.timeToDisplay(t),this.elProgressBarTimeTooltip.style.left=100*e+"%",this.elProgressBarTimeTooltip.style.display="block",this.player.controllers.bar.show(),this.dragging)&&this.onTimeUpdate(t)}onMouseUp(e){this.dragging&&setTimeout(()=>{this.onClick(e)},50)}onTimeUpdate(e){e/=null!=(e=null==(e=this.player.video)?void 0:e.duration)?e:1;this.elProgressBarFill.style.width=100*e+"%",this.elProgressBarHandle.style.left=100*e+"%"}onVideoEnded(){this.elProgressBarFill.style.width="100%",this.elProgressBarHandle.style.left="100%"}render(){return c`
00:00
`}getProgress(e,t,r){var{left:t,width:i}=t.getBoundingClientRect();let s=this.tooltipProgress;return"clientX"in e?s=(e.clientX-t)/i:"touches"in e&&0{this.elProgressBarTimeTooltip.style.display="none",this.tooltipHideTimeout=null},this.tooltipHideDelay)}showTooltip(e,t){var r;e&&(r=t*(null!=(r=null==(r=this.player.video)?void 0:r.duration)?r:1),e.textContent=this.timeToDisplay(r),e.style.left=100*t+"%",e.style.display="block")}timeToDisplay(e){var t=Math.floor(e/3600),r=Math.floor(e%3600/60),e=Math.floor(e%60);return 0{e.stopPropagation(),this.player.dispatchEvent(new CustomEvent(js.CONTROL_BAR_CLOSER)),this.player.video&&(this.player.dispatchEvent(new CustomEvent(js.VIDEO_REWIND)),this.player.controllers.bar.show(),this.player.controls.seek(Math.max(0,(null==(e=this.player.video)?void 0:e.currentTime)-10)))}),this.noop=Bt(e=>{e.stopPropagation(),e.preventDefault()})}render(){var e=h({color:this.player.config.style.foreground,fill:this.player.config.style.foreground}),t=o({rewind:!0});return c` `}}),jt=(Gt.styles=Ks,Gt=Ys([tn("vturb-rewind")],Gt),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.controls.toggle(),this.player.controllers.bar.show()}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_PLAY,()=>this.requestUpdate()),this.player.addEventListener(js.VIDEO_PAUSE,()=>this.requestUpdate())}render(){return c` `}},zt=(Ht.styles=e``,Ht=jt([tn("vturb-smallplay")],Ht),Hs=e`:host{display:block}.menu-item{display:flex;align-items:center;height:var(--menu-item-height);padding:calc(var(--menu-padding)/2) var(--menu-padding);cursor:pointer;transition:background-color var(--menu-transition);user-select:none}.menu-item:hover{background-color:var(--menu-hover-color)}.menu-item__icon{display:flex;align-items:center;justify-content:center;width:var(--menu-icon-size);height:var(--menu-icon-size);margin-right:var(--menu-padding);color:var(--menu-icon-color);fill:var(--menu-icon-color)}.menu-item__icon svg{width:1em;height:1em}.menu-item__label{flex:1;font-size:var(--menu-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item__check{margin-left:var(--menu-padding);color:var(--menu-icon-color);fill:var(--menu-icon-color)}.menu-item__check svg{width:1em;height:1em}`,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.dispatchEvent(new CustomEvent("item-selected",{bubbles:!0,composed:!0,detail:{value:this.value}}))}),this.icon="",this.label="",this.selected=!1}render(){return c` `}}),Kt=(zt.styles=[Hs],qs([Zs({type:String})],zt.prototype,"value",void 0),qs([Zs({type:String})],zt.prototype,"icon",void 0),qs([Zs({type:String})],zt.prototype,"label",void 0),qs([Zs({reflect:!0,type:Boolean})],zt.prototype,"selected",void 0),zt=qs([tn("smart-menu-item")],zt),Gs=e`:host{--menu-bg-color:#203EA6;--menu-text-color:#FAFAFA;--menu-hover-color:#2B4BB3;--menu-selected-color:#2B4BB3;--menu-icon-color:#FFFFFF;--menu-divider-color:rgba(255, 255, 255, 0.1);--menu-shadow:0 4px 6px rgba(0, 0, 0, 0.1);--menu-item-height:1.6em;--menu-padding:0.6em;--menu-border-radius:0.4em;--menu-icon-size:0.75em;--menu-font-size:0.75em;--menu-transition:0.2s ease;display:block}.menu{background-color:var(--menu-bg-color);border-radius:var(--menu-border-radius);box-shadow:var(--menu-shadow);color:var(--menu-text-color);min-width:10em;overflow:hidden;display:none}.menu[opened]{display:flex;flex-direction:column}.menu.top-left{left:0;top:0}.menu.top-right{right:0;top:0}.menu.bottom-left{left:0;bottom:0}.menu.bottom-right{right:0;bottom:0}.menu__header{font-size:var(--menu-font-size);padding:var(--menu-padding);border-bottom:1px solid var(--menu-divider-color);display:flex;align-items:center;height:var(--menu-item-height)}.menu__content{display:flex;flex-direction:column;overflow-y:auto}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e=document.querySelector(this.target);e&&(e=e.getBoundingClientRect(),this.style.left=e.left+"px",this.style.top=e.top+"px")}}connectedCallback(){super.connectedCallback(),this.target&&(window.addEventListener("resize",this._reposition),window.addEventListener("scroll",this._reposition))}disconnectedCallback(){super.disconnectedCallback(),this.target&&(window.removeEventListener("resize",this._reposition),window.removeEventListener("scroll",this._reposition))}render(){return c` `}}),Yt=(Kt.styles=[Gs],Ws([Zs({reflect:!0,type:Boolean})],Kt.prototype,"opened",void 0),Ws([Zs({type:String})],Kt.prototype,"position",void 0),Ws([Zs({type:String})],Kt.prototype,"target",void 0),Ws([Zs({type:String})],Kt.prototype,"title",void 0),Kt=Ws([tn("smart-menu")],Kt),Ks=e`:host{display:block}.submenu__header{display:flex;align-items:center;height:var(--menu-item-height);padding:0 var(--menu-padding);cursor:pointer;transition:background-color var(--menu-transition);user-select:none}.submenu__header:hover{background-color:var(--menu-hover-color)}.submenu__header ::slotted([slot=icon]){width:var(--menu-icon-size);height:var(--menu-icon-size);margin-right:var(--menu-padding);color:var(--menu-icon-color)}.submenu__label{flex:1;font-size:var(--menu-font-size)}.submenu__value{margin-right:var(--menu-padding);opacity:.8}.submenu__arrow{display:flex;align-items:center;transition:transform var(--menu-transition);color:var(--menu-icon-color)}.submenu__arrow.opened{transform:rotate(90deg)}.submenu__content{display:none;background-color:var(--menu-hover-color)}.submenu__content[opened]{display:block}.submenu__switch{display:flex;align-items:center}`,Ys=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3 `}_handleClick(){this.opened=!this.opened,this.dispatchEvent(new CustomEvent("submenu-toggle",{bubbles:!0,composed:!0,detail:{opened:this.opened}}))}}),Wt=(Yt.styles=[Ks],Ys([Zs({type:Boolean})],Yt.prototype,"hasSwitch",void 0),Ys([Zs({type:String})],Yt.prototype,"label",void 0),Ys([Zs({reflect:!0,type:Boolean})],Yt.prototype,"opened",void 0),Ys([Zs({type:String})],Yt.prototype,"value",void 0),Yt=Ys([tn("smart-submenu")],Yt),Hs=e`:host{display:inline-block}.switch{--switch-width:40px;--switch-height:24px;--switch-padding:2px;--switch-thumb-size:calc(var(--switch-height) - (var(--switch-padding) * 2));display:inline-flex;align-items:center;cursor:pointer}.switch__track{width:var(--switch-width);height:var(--switch-height);border-radius:calc(var(--switch-height)/2);background-color:hsla(0,0%,100%,.3);padding:var(--switch-padding);transition:background-color var(--menu-transition)}.switch__thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);border-radius:50%;background-color:var(--menu-text-color);transform:translateX(0);transition:transform var(--menu-transition)}.switch[aria-checked=true] .switch__track{background-color:var(--menu-selected-color)}.switch[aria-checked=true] .switch__thumb{transform:translateX(calc(var(--switch-width) - var(--switch-height)))}`,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3
`}_handleClick(){this.checked=!this.checked,this.dispatchEvent(new CustomEvent("switch-change",{bubbles:!0,composed:!0,detail:{checked:this.checked}}))}});Wt.styles=[Hs],qs([Zs({reflect:!0,type:Boolean})],Wt.prototype,"checked",void 0),Wt=qs([tn("smart-switch")],Wt);var ja,Gs=e`vturb-speed-control{position:relative}.m-w-360 vturb-speed-control .speed-control__option{font-size:.7em}.m-w-480 vturb-speed-control .speed-control__option{font-size:.8em}.m-w-550 vturb-speed-control .speed-control__option{font-size:.9em}#speed-control-menu{--menu-bg-color:var(--style-background-opacity);--menu-text-color:var(--style-foreground);--menu-hover-color:var(--style-background);--menu-selected-color:var(--style-background);--menu-icon-color:var(--style-foreground);--menu-divider-color:rgba(255, 255, 255, 0.1);--menu-shadow:0 4px 6px rgba(0, 0, 0, 0.1)}.speed-control__current{display:inline-flex;align-items:center;text-align:center;color:var(--style-foreground);font-size:1em}.speed-control__options{position:absolute!important;display:flex;flex-direction:column;bottom:100%;right:0;white-space:nowrap;justify-content:flex-end}.speed-control__options button.speed-control__option{padding:.3em 1.5em;background-color:var(--style-background-opacity);opacity:1;color:#fff;cursor:pointer;text-align:left;width:100%;display:block;font-size:1em;padding:.5em 1.5em}.m-w-360 .speed-control__options button.speed-control__option{padding:.3em 1em;font-size:.7em}.m-w-480 .speed-control__options button.speed-control__option{padding:.4em 1.2em;font-size:.8em}.m-w-550 .speed-control__options button.speed-control__option{padding:.4em 1.5em;font-size:.9em}.speed-control__options button.speed-control__option:hover{background-color:var(--style-background-90)}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.mountedMenu||!e||(this.mountedMenu=e),this._updatePosition()},this._updatePosition=()=>{if(this.mountedMenu&&this.speedControl)if(10this._updatePosition(),10);this.tries=0,this.mountedMenu.style.visibility="visible";let e=r-s-10;r=t+i-n;e<0&&(e=0),this.mountedMenu.style.top=e+"px",this.mountedMenu.style.left=r+"px"}},this.close=e=>{var t;this.player.controlBar.removeEventListener("click",this.close),null!=(t=this.player.player)&&t.removeEventListener("click",this.close),this.player.removeEventListener(js.CONTROL_BAR_CLOSER,this.close),this.speedOptionsVisible=!1,this.player.controllers.bar.blockClose=!1,this.requestUpdate()},this.onSpeedChange=()=>{this.requestUpdate()},this.onSpeedControlClick=e=>{e.stopPropagation(),"click"===e.type&&In()?e.preventDefault():this.toggleSpeedOptions()},this.open=()=>{var e;this.player.controlBar.addEventListener("click",this.close),null!=(e=this.player.player)&&e.addEventListener("click",this.close),this.player.addEventListener(js.CONTROL_BAR_CLOSER,this.close),this.speedOptionsVisible=!0,this.player.controllers.bar.blockClose=!0,this.requestUpdate()}}get currentSpeed(){var e;return null!=(e=null==(e=this.player.video)?void 0:e.playbackRate)?e:1}connectedCallback(){var e;super.connectedCallback(),null!=(e=this.player)&&e.addEventListener(js.VIDEO_SPEEDCHANGE,this.onSpeedChange),window.addEventListener("resize",this._updatePosition),window.addEventListener("scroll",this._updatePosition)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(js.VIDEO_SPEEDCHANGE,this.onSpeedChange),window.removeEventListener("resize",this._updatePosition),window.removeEventListener("scroll",this._updatePosition)}render(){var e=o({active:this.speedOptionsVisible,"speed-control":!0});return c`
{e.stopPropagation(),e.preventDefault()}} > ${rn(this.speedOptionsVisible,()=>c` {this.setSpeed(Number(e.detail.value)),setTimeout(()=>{this.player.dispatchEvent(new CustomEvent(js.CONTROL_BAR_CLOSER))},ja.CLOSE_DELAY)}} @click=${e=>{e.stopPropagation(),e.preventDefault()}} @touchend=${e=>{e.stopPropagation(),e.preventDefault()}} > `)}
`}renderSpeedOptions(){return c``}setSpeed(e,t){t&&(t.stopPropagation(),t.preventDefault()),this.player.controls.speed(e)}toggleSpeedOptions(){this.speedOptionsVisible?this.close():this.open()}};a.CLOSE_DELAY=250,a.ComponentName="SpeedControl",a.reRenderOn=[js.PLAYER_RESIZE],a.speedOptions=[.5,.75,1,1.25,1.5,2],a.styles=Gs,Ws([en(".speed-control")],a.prototype,"speedControl",void 0),a=ja=Ws([tn("vturb-speed-control")],a);var Ha,Ks=e`.subtitles{position:absolute;bottom:calc(var(--fakebar-height,0) + .5em);left:50%;text-align:center;color:var(--style-foreground);transform:translateX(-50%);text-shadow:var(--subtitle-text-shadow);max-width:var(--subtitle-max-width);width:100%;z-index:9}.m-w-360 .subtitles,.m-w-480 .subtitles,.m-w-550 .subtitles{max-width:var(--subtitle-max-width-small)}.subtitles span{margin:0;text-align:inherit;padding:var(--subtitle-padding);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:var(--subtitle-font-weight);line-height:var(--subtitle-line-height);font-size:1em;font-family:var(--style-font-family);white-space:pre-wrap;text-shadow:var(--subtitle-text-shadow);letter-spacing:var(--subtitle-letter-spacing)}.subtitles span span{position:relative}`,Ys=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e=this.player.config.video.width;let t=this.player.config.subtitles.fontSize;"string"==typeof t&&(t=Number(t.replace("px","").replace("%","").replace("em","").replace("rem","")));var r=Number(null==(r=this.player.video)?void 0:r.clientWidth)/Number(e)||1,r=Math.min(1.2,Math.max(.6,r)),e=(this.player.dispatchEvent(new CustomEvent(js.SUBTITLE_CONFIG_CHANGE,{detail:{config:Object.assign(Object.assign({},this.config),{multiplier:r})}})),r*(null!=t?t:18)+"px");e!==this.fontSize&&(this.fontSize=e,this.requestUpdate())},this.onConfigUpdated=e=>{this.logger.debug("Subtitle config updated",{config:e.detail.config,player:e.detail.player}),this.calculateFontSize()},this.onLoadedMetadata=()=>{var e,t;null!=(t=this.player.hlsVideo)&&t.video&&((t=this.logger.group("debug","Video metadata loaded")).message("Checking for active track",{hasActiveTrack:!!this.player.activeTrack,hasVideo:!(null==(e=this.player.hlsVideo)||!e.video)}),this.player.activeTrack&&(t.message("Setting up initial subtitle track",{trackKind:this.player.activeTrack.kind,trackLabel:this.player.activeTrack.label,trackLanguage:this.player.activeTrack.language}),this.setupCueChangeListener(this.player.activeTrack)),t.end())},this.onTrackChange=e=>{var t,r;this.currentCue!==e.detail.track&&((r=this.logger.group("info","Subtitle track changed")).message("Track details",{kind:null==(t=e.detail.track)?void 0:t.kind,label:null==(t=e.detail.track)?void 0:t.label,language:null==(t=e.detail.track)?void 0:t.language,mode:null==(t=e.detail.track)?void 0:t.mode}),this.cleanupTrackListeners(),e.detail.track?(r.message("Setting up new track listener",{trackLabel:e.detail.track.label}),this.setupCueChangeListener(e.detail.track)):(r.message("No track selected, clearing current cue"),this.currentCue=null),r.end())},this.cueChangeHandler=()=>{var e,t=this.player.activeTrack;t?(e=Array.from(t.activeCues||[])[0]||null)!==this.currentCue&&(this.logger.debug("Subtitle cue changed",{endTime:null===e?void 0:e.endTime,startTime:null===e?void 0:e.startTime,text:null===e?void 0:e.text,trackLabel:t.label,trackLanguage:t.language}),this.currentCue=e):this.currentCue=null}}connectedCallback(){super.connectedCallback(),this.logger.info("Subtitle component initialized",{componentName:Ha.componentName,config:this.config,fontSize:this.fontSize,show:this.show}),this.player.addEventListener(js.VIDEO_LOADEDMETADATA,this.onLoadedMetadata),this.player.addEventListener(js.SUBTITLE_TRACK_CHANGE,this.onTrackChange),this.player.addEventListener(js.PLAYER_RESIZE,this.calculateFontSize),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onConfigUpdated)}disconnectedCallback(){var e;this.logger.debug("Subtitle component disconnected",{componentName:Ha.componentName,currentCue:null==(e=this.currentCue)?void 0:e.text,show:this.show}),super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_LOADEDMETADATA,this.onLoadedMetadata),this.player.removeEventListener(js.SUBTITLE_TRACK_CHANGE,this.onTrackChange),this.player.removeEventListener(js.PLAYER_RESIZE,this.calculateFontSize),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onConfigUpdated),this.player.dispatchEvent(new CustomEvent(js.SUBTITLE_INACTIVE)),this.cleanupTrackListeners()}firstUpdated(){this.calculateFontSize()}render(){var e,t,r;return this.currentCue&&this.show&&!this.player.controllers.blockers.noneBlocker("played")?(r=this.player.config.subtitles,t=h({fontSize:this.fontSize,justifyContent:{center:"center",left:"flex-start",right:"flex-end"}[null!=(t=r.align)?t:"center"]||"center",textAlign:null!=(t=r.align)?t:"center"}),r=h({backgroundColor:null!=(e=r.backgroundColor)?e:"rgba(0, 0, 0, 0.7)",color:null!=(e=r.color)?e:"#FFFFFF"}),c`
${this.currentCue.text}
`):null}cleanupTrackListeners(){this.currentCue&&(this.logger.debug("Cleaning up track listeners",{hadCurrentCue:!!this.currentCue}),this.currentCue.removeEventListener("cuechange",this.cueChangeHandler))}setupCueChangeListener(e){this.logger.debug("Setting up cue change listener",{trackLabel:e.label,trackLanguage:e.language,trackMode:e.mode}),e.addEventListener("cuechange",this.cueChangeHandler)}},qt=(p.componentName="Subtitle",p.styles=Ks,Ys([Zs({type:Object})],p.prototype,"config",void 0),Ys([Zs({reflect:!0,type:Boolean})],p.prototype,"show",void 0),Ys([Js()],p.prototype,"currentCue",void 0),p=Ha=Ys([tn("vturb-subtitles")],p),Hs=e``,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.interface.setup({subtitles:{show:!this.player.config.subtitles.show}})}}render(){var e=h({color:this.player.config.style.foreground,fill:this.player.config.style.foreground});return c` `}}),Xt=(qt.styles=Hs,qt=qs([tn("vturb-subtitle-control")],qt),Gs=e`.video-time{color:var(--style-foreground);display:flex;align-items:center!important;justify-content:center!important;padding-left:.5em;padding-right:.5em}.m-w-360 .video-time .video-time-total,.m-w-480 .video-time .video-time-total,.m-w-550 .video-time .video-time-total{display:none}.video-time .video-time-total{display:none}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var t;this.videoTimeTotal.innerHTML=" / "+this.formatTime(null!=(t=null==(t=this.player.video)?void 0:t.duration)?t:0)},this.onTimeUpdate=e=>{this.videoTimeCurrent.textContent=this.formatTime(e.detail.time)}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.addEventListener(js.VIDEO_LOADEDMETADATA,this.onLoadedMetadata)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),null!=(e=this.player)&&e.removeEventListener(js.VIDEO_LOADEDMETADATA,this.onLoadedMetadata)}formatTime(e){e=Math.max(0,e);return Math.floor(e/60)+":"+Math.floor(e%60).toString().padStart(2,"0")}render(){return c`
00:00 / --:--
`}firstUpdated(e){var t;this.onTimeUpdate({detail:{time:null!=(t=null==(t=this.player.video)?void 0:t.currentTime)?t:0}})}}),g=(Xt.styles=Gs,Ws([en(".video-time-current")],Xt.prototype,"videoTimeCurrent",void 0),Ws([en(".video-time-total")],Xt.prototype,"videoTimeTotal",void 0),Xt=Ws([tn("vturb-video-time")],Xt),Ks=e`#player .volume{position:relative}#player .volume__control{position:absolute;padding:1.125em .5em;background:var(--style-background-opacity);border-radius:var(--control-border-radius) var(--control-border-radius) 0 0;bottom:100%;cursor:pointer;visibility:hidden;transition:opacity .2s ease;width:100%;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;opacity:0;box-sizing:border-box;height:7em}#player .volume__control range-slider{width:1.5em;height:5em;--slider-height:0.125em;--thumb-diameter:0.625em;--slider-background:var(--style-foreground-50);--slider-value-color:var(--style-foreground);--thumb-color:var(--style-foreground)}#player .volume__button-icon{width:1.5em;height:100%;fill:#fff;display:none;align-items:center;justify-content:center}#player .volume.in-change .volume__button,#player .volume:not(.mobile):hover .volume__button{padding-right:.625em}#player .volume.in-change .volume__control,#player .volume:not(.mobile):hover .volume__control{visibility:visible;opacity:1;overflow:hidden}`,Ys=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{e.preventDefault(),e.stopPropagation(),this.volumeChangeStarted&&(this.player.controllers.bar.show(),this.player.controls.volume(this.Slider.value))},this.onVolumeChange=e=>{this.updateVolume(),this.requestUpdate()},this.startVolumeChange=e=>{this.volumeChangeStarted=!0,this.doc.addEventListener("mouseup",this.stopVolumeChange),this.doc.addEventListener("touchend",this.stopVolumeChange),this.player.controllers.bar.dispatchCloser()},this.stopVolumeChange=()=>{this.volumeChangeStarted=!1,this.doc.removeEventListener("mouseup",this.stopVolumeChange),this.doc.removeEventListener("touchend",this.stopVolumeChange)},this.toggleMute=e=>{this.player.muted||this.currentVolume<=.05?this.player.controls.unmute():this.player.controls.mute(),this.player.controllers.bar.show(),this.updateVolume()}}get currentVolume(){var e;return null!=(e=null==(e=this.player.video)?void 0:e.volume)?e:0}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_VOLUMECHANGE,this.onVolumeChange)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(js.VIDEO_VOLUMECHANGE,this.onVolumeChange)}firstUpdated(){this.updateVolume()}render(){return c`
${rn(!In(),()=>c`
{e.stopPropagation()}} @mousedown=${this.startVolumeChange} @touchstart=${this.startVolumeChange} >
`)}
`}updateVolume(){0===this.currentVolume||this.player.muted?(this.Volume3.style.display="none",this.Volume2.style.display="none",this.Volume1.style.display="none",this.VolumeMute.style.display="flex"):(this.currentVolume<.25?(this.Volume3.style.display="none",this.Volume2.style.display="none",this.Volume1.style.display="flex"):(this.currentVolume<.75?(this.Volume3.style.display="none",this.Volume2.style.display="flex"):(this.Volume3.style.display="flex",this.Volume2.style.display="none"),this.Volume1.style.display="none"),this.VolumeMute.style.display="none")}}),Qt=(g.styles=Ks,Ys([en("range-slider")],g.prototype,"Slider",void 0),Ys([en(".volume__button-icon--1")],g.prototype,"Volume1",void 0),Ys([en(".volume__button-icon--2")],g.prototype,"Volume2",void 0),Ys([en(".volume__button-icon--3")],g.prototype,"Volume3",void 0),Ys([en(".volume__button")],g.prototype,"VolumeButton",void 0),Ys([Js()],g.prototype,"volumeChangeStarted",void 0),Ys([en(".volume__button-icon--mute")],g.prototype,"VolumeMute",void 0),g=Ys([tn("vturb-volume")],g),Hs=e`.controls{position:absolute;width:100%;bottom:0;left:0;opacity:0;transition:opacity var(--base-transition),transform var(--base-transition);transform:translateY(var(--control-translate-y));z-index:var(--control-index);box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--control-gap-vertical)}.controls--progress-bar{justify-content:flex-start}.controls vturb-volume button.active,.controls vturb-volume:hover{border-top-right-radius:0!important;border-top-left-radius:0!important}.controls .controls__menu-button-wrapper,.controls vturb-forward,.controls vturb-fullscreen,.controls vturb-progress-bar,.controls vturb-rewind,.controls vturb-smallplay,.controls vturb-speed-control,.controls vturb-subtitle-control,.controls vturb-video-time,.controls vturb-volume{height:100%;display:flex;align-items:center;justify-content:center;background:var(--style-background-opacity)}.controls .controls__menu-button-wrapper:hover,.controls vturb-forward:hover,.controls vturb-fullscreen:hover,.controls vturb-progress-bar:hover,.controls vturb-rewind:hover,.controls vturb-smallplay:hover,.controls vturb-speed-control:hover,.controls vturb-subtitle-control:hover,.controls vturb-video-time:hover,.controls vturb-volume:hover{opacity:1;transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic)}.controls .controls__menu-button-wrapper>:not(.no-size),.controls vturb-forward>:not(.no-size),.controls vturb-fullscreen>:not(.no-size),.controls vturb-progress-bar>:not(.no-size),.controls vturb-rewind>:not(.no-size),.controls vturb-smallplay>:not(.no-size),.controls vturb-speed-control>:not(.no-size),.controls vturb-subtitle-control>:not(.no-size),.controls vturb-video-time>:not(.no-size),.controls vturb-volume>:not(.no-size){height:calc(var(--control-padding)*2 + var(--control-button-size));display:flex;align-items:stretch;position:relative}.controls button{background:rgba(0,0,0,0);border:none;cursor:pointer;padding:var(--control-padding);padding-block:var(--control-padding);padding-inline:var(--control-padding);display:flex;justify-content:center;align-items:center;color:var(--style-foreground);fill:var(--style-foreground);opacity:.75;transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic);font-size:1em}.controls button:hover{opacity:1;background:var(--style-hover-background)}.controls button,.controls button *{pointer-events:auto}.controls svg{width:var(--control-button-size);height:var(--control-button-size);background:rgba(0,0,0,0);color:var(--style-foreground);fill:var(--style-foreground)}.controls__first{display:flex;justify-content:space-between;flex-direction:row;align-items:flex-end}.controls__first--left,.controls__first--right{display:flex;justify-content:flex-start;flex-direction:row;align-items:stretch;position:relative}.controls.controls--progress-bar .controls__first--left{flex:1}.controls__first--left vturb-progress-bar{flex:1;padding:0 var(--control-padding,.5em)}.controls__menu-button--active{background:var(--style-hover-background)!important;border-radius:var(--control-border-radius);opacity:1!important}.controls:not(.controls--progress-bar) .controls__first--left>:last-child{border-radius:0 var(--control-border-radius) var(--control-border-radius) 0}.controls:not(.controls--progress-bar) .controls__first--right>:first-child{border-radius:var(--control-border-radius) 0 0 var(--control-border-radius)}.has-fakebar .controls.bottom-controls-visible{box-sizing:border-box;background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0));padding:1.4em .8em calc(var(--fakebar-height,0) + .4em)}.has-fakebar .controls.bottom-controls-visible .controls__first--left,.has-fakebar .controls.bottom-controls-visible .controls__first--right{gap:.5em}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper,.has-fakebar .controls.bottom-controls-visible vturb-forward,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen,.has-fakebar .controls.bottom-controls-visible vturb-rewind,.has-fakebar .controls.bottom-controls-visible vturb-smallplay,.has-fakebar .controls.bottom-controls-visible vturb-speed-control,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control,.has-fakebar .controls.bottom-controls-visible vturb-volume{background:rgba(0,0,0,0);border-radius:var(--control-border-radius)}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper button,.has-fakebar .controls.bottom-controls-visible vturb-forward button,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen button,.has-fakebar .controls.bottom-controls-visible vturb-rewind button,.has-fakebar .controls.bottom-controls-visible vturb-smallplay button,.has-fakebar .controls.bottom-controls-visible vturb-speed-control button,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control button,.has-fakebar .controls.bottom-controls-visible vturb-volume button{opacity:1}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper button.active,.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper:hover,.has-fakebar .controls.bottom-controls-visible vturb-forward button.active,.has-fakebar .controls.bottom-controls-visible vturb-forward:hover,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen button.active,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen:hover,.has-fakebar .controls.bottom-controls-visible vturb-rewind button.active,.has-fakebar .controls.bottom-controls-visible vturb-rewind:hover,.has-fakebar .controls.bottom-controls-visible vturb-smallplay button.active,.has-fakebar .controls.bottom-controls-visible vturb-smallplay:hover,.has-fakebar .controls.bottom-controls-visible vturb-speed-control button.active,.has-fakebar .controls.bottom-controls-visible vturb-speed-control:hover,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control button.active,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control:hover,.has-fakebar .controls.bottom-controls-visible vturb-volume button.active,.has-fakebar .controls.bottom-controls-visible vturb-volume:hover{background:var(--style-background-opacity);border-radius:var(--control-border-radius)}.has-fakebar .controls.bottom-controls-visible vturb-progress-bar,.has-fakebar .controls.bottom-controls-visible vturb-video-time{background:rgba(0,0,0,0)}.has-fakebar .controls.bottom-controls-visible vturb-progress-bar button,.has-fakebar .controls.bottom-controls-visible vturb-video-time button{opacity:1}.controls__inner{position:absolute;width:100%;top:50%;left:0;transform:translateY(-50%);align-items:center;justify-content:space-around;gap:var(--control-gap-horizontal);opacity:0;transition:opacity var(--base-transition),transform var(--base-transition);transform:translateY(-30%);pointer-events:none!important;display:flex}.controls__inner,.controls__inner *{pointer-events:none!important}.controls__inner--center,.controls__inner--left,.controls__inner--right{width:33%;display:flex;justify-content:center;align-items:center}.m-w-360 .controls__inner{font-size:10px}.m-w-480 .controls__inner{font-size:12px}.m-w-550 .controls__inner{font-size:14px}.m-w-640 .controls__inner{font-size:16px}.m-w-768 .controls__inner{font-size:18px}.m-w-1024 .controls__inner{font-size:20px}.m-w-1280 .controls__inner{font-size:22px}.m-w-1440 .controls__inner{font-size:24px}.m-w-1600 .controls__inner{font-size:26px}.m-w-1920 .controls__inner{font-size:28px}.controls__inner button{background:rgba(0,0,0,.5);border:none;border-radius:100%;cursor:pointer;padding:var(--control-mobile-button-padding);padding-block:var(--control-mobile-button-padding);padding-inline:var(--control-mobile-button-padding);display:inline-flex;justify-content:center;align-items:center;color:#fff;fill:#fff;opacity:.75;transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic);font-size:1em}.is-mobile .controls__inner button:active{animation:mobile-click-feedback var(--base-transition-duration) var(--base-transition-cubic)}@keyframes mobile-click-feedback{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.8)}70%{box-shadow:0 0 0 .9375em hsla(0,0%,100%,0)}100%{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}#player:not(.is-mobile) .controls__inner button:hover{opacity:1;background:var(--style-dark-hover-background)}.controls__inner button,.controls__inner button *{pointer-events:auto}.controls__inner button svg{width:var(--control-mobile-button-icon-size);height:var(--control-mobile-button-icon-size);background:rgba(0,0,0,0);color:#fff;fill:#fff}.controls__inner .featured button{padding:var(--control-mobile-button-featured-padding);padding-block:var(--control-mobile-button-featured-padding);padding-inline:var(--control-mobile-button-featured-padding)}.controls__inner .featured button svg{width:var(--control-mobile-button-featured-icon-size);height:var(--control-mobile-button-featured-icon-size)}.show-controls .controls{opacity:1;transform:translateY(0)}.show-controls .controls__inner{opacity:1;transform:translateY(calc(-50% - (var(--control-padding) * 2 + 1.5rem)/ 2))}.show-controls .controls__inner,.show-controls .controls__inner *{pointer-events:all!important}`,function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.player.dispatchEvent(new CustomEvent(js.CONTROL_BAR_CLOSER)),e.stopPropagation(),t||e.preventDefault()}),this.showMenu=!1,this.controlsActiveHandler=()=>this.sendEvents(!0),this.controlsInactiveHandler=()=>this.sendEvents(!1)}get allowProgressBar(){return this.player.config.style.progressBar}get showCaptions(){return this.player.config.subtitles.active&&this.player.config.style.captions&&0{e=e.filter(e=>e.visible).reduce((e,t,r,i)=>{r=r===i.length-1,i=0e.order-t.order),rightControls:e.rightControls.sort((e,t)=>e.order-t.order),leftUsedSpace:e.leftUsedSpace,controlsSize:e.leftControls.length+e.rightControls.length}})([{element:rn(e.smallPlay,()=>c``),visible:e.smallPlay,space:10,order:1},{element:rn(e.rewind&&!this.allowMenuDisplay,()=>c``),visible:e.rewind&&!this.allowMenuDisplay,space:10,order:2},{element:rn(e.videoTime,()=>c``),visible:e.videoTime,space:10,order:3},{element:rn(this.allowProgressBar,()=>c``),visible:this.allowProgressBar,space:this.allowMenuDisplay?70:60,order:5},{element:rn(e.volume,()=>c``),visible:e.volume,space:10,order:4},{element:rn(this.showCaptions,()=>c``),visible:this.showCaptions,space:10,preferRight:!0,order:6},{element:rn(e.speed,()=>c``),visible:e.speed,space:10,preferRight:!0,order:7},{element:rn(e.fullscreen,()=>c``),visible:e.fullscreen,space:10,preferRight:!0,order:8}],this.allowMenuDisplay)}get isMenuVisible(){var{rightControls:e,leftUsedSpace:t}=this.controlsOptions;return 1
${rn(e.rewind,()=>c``,()=>c` `)}
 
${rn(e.forward,()=>c``,()=>c` `)}
${rn(!this.showMenu,()=>t.map(e=>e.element))}
${rn(!this.allowMenuDisplay||!this.isMenuVisible,()=>r.map(e=>e.element))} ${rn(this.allowMenuDisplay&&this.isMenuVisible,()=>this.renderMenu(r))}
`}renderMenu(e){return c` ${rn(this.showMenu,()=>e.map(e=>e.element))}
`}sendEvents(r){var e=this.player.config.style,e={forward:e.forward,fullscreen:e.fullscreen,progressBar:e.progressBar,rewind:e.rewind,smallplay:e.smallPlay,speed:e.speed,videoTime:e.videoTime,volume:e.volume},e=Object.entries(e).reduce((e,t)=>Object.assign(Object.assign({},e),{[t[0]]:t[1]&&r}),{});this.player.dispatchEvent(new CustomEvent(js.CONTROLS_ITEMS,{detail:{items:e}}))}createRenderRoot(){return this}};Zt.componentName="Controls",Zt.reRenderOn=[js.PLAYER_RESIZE],Zt.styles=[Hs,Ht.styles,n.styles,$t.styles,Gt.styles,Vt.styles,Xt.styles,g.styles,a.styles,qt.styles],Qt([Js()],Zt.prototype,"showMenu",void 0),Zt=Qt([tn("vturb-controls")],Zt);class Pf{constructor(e,t=(e,t)=>e){this.win=window,this.updater=t,this.logger=e,this.setEvents()}findClickableParent(e){try{for(;e;){if(["A","BUTTON","INPUT"].includes(e.tagName)){if("A"===e.tagName&&e.hasAttribute("href"))return e;if(("BUTTON"===e.tagName||"INPUT"===e.tagName)&&"submit"===e.type&&e.form)return e}e=e.parentElement}return null}catch(e){return this.logger.error("Error finding clickable parent",e),null}}handleFormElement(e){var t=e.form;t&&(t.action?t.action=this.injectIntoURL(t.action,e):this.logger.warn("Form element has no action",{element:e}))}handleLinkElement(t){var e=t.getAttribute("href");if(e)try{var r=window.location.href.split("#")[0];e.split("#")[0]===r||e.startsWith("#")||e.startsWith("javascript:")||(t.href=this.injectIntoURL(e,t))}catch(e){this.logger.warn(`Skipping link element due to error: ${e}, element: `+t)}}injectIntoURL(t,e){try{return this.updater(t,e)}catch(e){return this.logger.warn("Error updating URL: "+t,{error:e}),t}}setEvents(){let t=e=>{try{var t=this.findClickableParent(e.target);t&&!this.shouldIgnoreElement(t)&&("A"===t.tagName?this.handleLinkElement(t):"BUTTON"!==t.tagName&&"INPUT"!==t.tagName||"submit"!==t.type||this.handleFormElement(t))}catch(e){this.logger.error("Error setting events",e)}};["mousedown","touchstart","mouseover"].forEach(e=>{this.win.addEventListener(e,t)})}shouldIgnoreElement(e){e=Hn(e,".smartplayer-ignore-click-event");return null!=e}}let Jt=(e=0)=>5*Math.floor(e/5),er=["cmc_redir"];class Df extends yn{constructor(){super(...arguments),this.baseSearchParams=new URLSearchParams,this.currentHeadline=null,this.currentSmartAutoPlay=null,this.currentTurboSpeed=null,this.changeHeadline=e=>{this.currentHeadline=""+e.detail.number},this.changeSmartAutoPlay=e=>{this.currentSmartAutoPlay=""+e.detail.autoplay.number},this.changeTurboSpeed=e=>{this.currentTurboSpeed=e.detail.speed},this.dispatchMessageToParent=()=>{this.player.dispatchEvent(new CustomEvent(js.CONVERSION_TRACKING_UPDATE,{detail:{key:this.key}}))},this.saveTime=e=>{this.player.store.set(this.lastTimeKey,null!=(e=null!=e?e:null==(e=this.player.video)?void 0:e.currentTime)?e:0)},this.redirectionParamUpdater=(t,r)=>{try{this.logger.debug("Redirect URL Param Updater",{key:r,base:t.toString()});let e=t.searchParams.get(r);e&&((e.includes("%2F")||e.includes("%3A"))&&(e=decodeURIComponent(e)),new URL(e),t.searchParams.set(r,encodeURIComponent(this.urlUpdater(e))))}catch(e){this.logger.error("Error updating URL",{error:e})}},this.urlUpdater=(r,e)=>{try{let t=new URL(r,window.location.href);return this.config.conversion.forEach(e=>{t.searchParams.set(e,this.key)}),er.forEach(e=>this.redirectionParamUpdater(t,e)),this.logger.debug("URL Updater",{url:t.toString()}),t.toString()}catch(e){return this.logger.error("Error updating URL",{error:e}),r}}}get key(){let e,t,r="",i="",s="";return this.currentTurboSpeed&&(r="_t-"+parseInt(""+10*this.currentTurboSpeed,10)),null!=(e=this.config.headlines)&&e.active&&this.currentHeadline&&(i="_h-"+this.currentHeadline),this.currentSmartAutoPlay&&(s="_s-"+this.currentSmartAutoPlay),`v3_${null==(t=this.player.analytics)?void 0:t.sessionId}_${this.config.id}_`+this.lastTime+r+i+s}get lastTime(){var e=this.player.store.get(this.lastTimeKey,0);return 0{var e;this.logger.debug("ConversionTrackingController: player ready"),null!=(e=this.config.conversion)&&e.length&&(this.logger.info("ConversionTrackingController: host connected, conversion tracking active"),this.setup(),this.player.dispatchEvent(new CustomEvent(js.CONVERSION_TRACKING_ENABLED)))})}hostDisconnected(){this.logger.debug("ConversionTrackingController: host disconnected"),this.player.dispatchEvent(new CustomEvent(js.CONVERSION_TRACKING_DISABLED))}init(){this.logger.debug("ConversionTrackingController: init"),this.player.dispatchEvent(new CustomEvent(js.URL_INJECTION,{detail:{priority:An.HIGH,updater:this.urlUpdater}}))}setup(){this.logger.debug("ConversionTrackingController: setup",this.key),this.player.addEventListener(js.HEADLINE_CHANGED,this.changeHeadline),this.player.addEventListener(js.SMARTAUTOPLAY_SELECTED,this.changeSmartAutoPlay),this.player.addEventListener(js.TURBO_SPEED_CHANGED,this.changeTurboSpeed),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,()=>{var e;this.saveTime(Jt(null!=(e=null==(e=this.player.video)?void 0:e.currentTime)?e:0))}),this.player.addEventListener(js.VIDEO_ENDED,()=>{var e;null!=(e=this.player.video)&&e.duration&&(this.saveTime(Math.floor(this.player.video.duration)),this.dispatchMessageToParent())}),this.urlUpdaterEngine=new Pf(this.logger,(e,t)=>this.player.urlUpdater(e,t)),this.dispatchMessageToParent()}}Df.controllerName="ConversionTrackingController",Df.requirements=[({ready:e,video:t})=>!!e&&!!t];var za,Ka,qs=e`.fakebar{left:0;width:0%;bottom:0;height:var(--fakebar-height,10px);opacity:.8;z-index:var(--fakebar-index,100);position:absolute;transition:width .1s var(--base-transition-cubic,ease);background-color:var(--fakebar-background-color,#fff)}`,Gs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.visibility=!1;var e=null!=(e=null==(e=this.player.video)?void 0:e.duration)?e:0,e=this.player.video.currentTime/e||0;this.setProgress(e)},this.getVideoDuration=()=>{var e;return null!=(e=null==(e=this.player.video)?void 0:e.duration)?e:0},this.onPause=()=>{this.logger.info("Fakebar onPause"),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.timer&&(clearInterval(this.timer),this.timer=null)},this.onPlay=()=>{this.logger.info("Fakebar onPlay"),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.timer||(this.timer=setInterval(this.sync,40))},this.onTimeUpdate=()=>{this.logger.info("Fakebar onTimeUpdate"),this.sync()},this.setProgress=e=>{var t,e=Ya(this,za,"f").call(this,e);this.progress=e,this.player.dispatchEvent(new CustomEvent(js.FAKEBAR_PROGRESS,{detail:{progress:e}})),null!=(t=null==(t=this.fakebar)?void 0:t.style)&&t.setProperty("--fakebar-width",e+"%")},this.sync=()=>{var e;this.player.controllers.blockers.noneBlocker("played")||!this.player.video||(e=this.player.video.duration||0,(e=(this.player.video.currentTime||0)/e||0)===1/0)?(this.setProgress(0),this.visibility=!1):(this.visibility=!0,this.setProgress(e),this.player.dispatchEvent(new CustomEvent(js.FAKEBAR_WIDTH,{detail:{width:e}})))},za.set(this,e=>100*Math.pow(1-(e-=1)*e,1/this.alpha)),Ka.set(this,()=>{var e=this.player.config.fakeBar.alpha;this.alpha=Math.min(3,Math.max(2,e))})}connectedCallback(){var e;super.connectedCallback(),this.logger.info("connectedCallback"),Ya(this,Ka,"f").call(this),null!=(e=this.player.player)&&e.classList.add("with-fakebar"),this.player.controllers.blockers.noneBlocker("played")?this.player.addEventListener(js.VIDEO_LOADEDDATA,this.defaultConfig):this.timer=setInterval(this.sync,40),this.player.dispatchEvent(new CustomEvent(js.FAKEBAR_ACTIVE)),this.player.addEventListener(js.VIDEO_PLAY,this.onPlay),this.player.addEventListener(js.VIDEO_PAUSE,this.onPause)}disconnectedCallback(){this.logger.info("disconnectedCallback"),super.disconnectedCallback(),this.player.dispatchEvent(new CustomEvent(js.FAKEBAR_INACTIVE)),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){return this.visibility?c`
`:null}};function Wa(){try{return localStorage.setItem("feature_test","yes"),localStorage.removeItem("feature_test"),1}catch(e){}}function qa(e,t,r={}){let i={saveStorageSuccessful:!1,storageType:"none",storedIdentifier:void 0,wasStoraged:!1};if(!e||0===e.length)return[t,i];let{identifierKey:s,storageKey:n,store:a}=r;if(n&&s){if(a)i.storageType="store",i.storedIdentifier=a.get(n,void 0);else if(Wa()){i.storageType="localStorage";t=localStorage.getItem(n);if(t)try{i.storedIdentifier=JSON.parse(t)}catch(e){i.storedIdentifier=t}}if(void 0!==i.storedIdentifier){r=e.find(e=>e[s]===i.storedIdentifier);if(r)return i.wasStoraged=!0,i.saveStorageSuccessful=!0,[r,i]}}t=e[Math.floor(Math.random()*e.length)];if(n&&s){r=t[s];try{a?(a.set(n,r),i.saveStorageSuccessful=!0):Wa()&&(localStorage.setItem(n,JSON.stringify(r)),i.saveStorageSuccessful=!0)}catch(e){i.saveStorageSuccessful=!1}}return[t,i]}function Xa(e,t){let r=e;try{(e=>{var t=(t=new DOMParser).parseFromString(e,"text/html");return!(!((e=t.body)&&e.textContent&&e.textContent.trim())||e.children.length<=0)})(e)||(r=atob(e),r=(new TextDecoder).decode(Uint8Array.from(r,e=>e.charCodeAt(0))))}catch(e){t.warn("Error decoding headline HTML:",e)}return r}za=new WeakMap,Ka=new WeakMap,tr.componentName="Fakebar",tr.styles=[qs],Gs([en(".fakebar")],tr.prototype,"fakebar",void 0),Gs([Js()],tr.prototype,"visibility",void 0),tr=Gs([tn("vturb-fakebar")],tr);var Ws=e`:host{display:block;font-family:inherit;text-align:left;width:100%;font-size:18px;color:#000}.headline{margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:fit-content}.headline *{margin:0;padding:0;box-sizing:border-box}.headline img{margin-bottom:var(--headline-margin-bottom,30px)}.headline h1{margin:0}.headline-content{display:flex;flex-direction:column;font-size:var(--headline-font-size,inherit);font-family:var(--headline-font-family,inherit);width:var(--headline-width,100%);margin:var(--headline-margin,0)}.headline-content *{letter-spacing:var(--headline-letter-spacing,0);line-height:var(--headline-line-height,100%)!important}`,Ks=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e;this.player.isIframe&&(this.style.display="none"),this.headline=this.getCurrentHeadline(),!this.player.config.preview&&this.headline&&this.player.controllers.analytics.event("headlineview",{headline_number:this.headline.number,player_id:this.player.config.id,session_id:null==(e=this.player.analytics)?void 0:e.sessionId}),this.player.dispatchEvent(new CustomEvent(js.HEADLINE_CHANGED,{detail:{headline:this.headline,number:this.headline.number}}))},this.onPlayerResize=()=>{var e=null==(e=this.player.player)?void 0:e.clientWidth;e&&(this.style.fontSize=e<768?"14px":"18px")}}static shouldLoadHeadlines(e){var t;return(null==(t=e.headlines)?void 0:t.active)&&0<(null==(t=e.headlines)?void 0:t.items.length)}connectedCallback(){super.connectedCallback(),this.onInitialized(),this.player.addEventListener(js.PLAYER_RESIZE,this.onPlayerResize),this.player.addEventListener(js.PLAYER_READY,this.onPlayerResize,{once:!0}),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onInitialized)}disconnectedCallback(){this.player.removeEventListener(js.PLAYER_RESIZE,this.onPlayerResize),this.player.removeEventListener(js.PLAYER_READY,this.onPlayerResize),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onInitialized)}importFontFamily(e){var t="vturb-headline-font-"+(null==(t=e.typography)?void 0:t.family.toLowerCase().replace(/\W+/g,"-"));Ot(document,t,null==(t=e.typography)?void 0:t.embedLink)}render(){if(this.headline&&"none"!==this.headline.name)return this.player.isIframe&&this.renderIframe(),"html"===this.headline.type?this.renderHtml():this.renderImage()}renderHtml(){this.importFontFamily(this.headline);var e=this.headline,t=h({"--headline-font-size":null!=(t=e.typography)&&t.size?e.typography.size/18+"em":"","--headline-font-family":null!=(t=null==(t=e.typography)?void 0:t.family)?t:"inherit","--headline-letter-spacing":`${null!=(t=null==(t=e.typography)?void 0:t.letterSpacing)?t:0}px`,"--headline-line-height":`${null!=(t=null==(t=e.typography)?void 0:t.lineHeight)?t:100}%`,"--headline-width":`${null!=(t=null==(t=e.layout)?void 0:t.width)?t:100}%`,"--headline-margin":null==(t=e.layout)?void 0:t.margin.values.map(e=>e+"px").join(" ")}),r=Xa(e.html,this.logger);return c`
`}renderIframe(){return Qa(this,void 0,void 0,function*(){yield this.updateComplete;var e=null==(e=this.headlineStyle)?void 0:e.innerHTML,t=null==(t=this.headlineContent)?void 0:t.innerHTML;if(e&&t)return this.player.dispatchEvent(new CustomEvent(js.HEADLINE_RENDERED,{detail:{headline:this.headline,html:t,style:e}})),null})}renderImage(){var e=this.headline,t=h({backgroundColor:"transparent",maxWidth:"100%"});return c`
${e.name}
`}getCurrentHeadline(){var[e,t]=qa(this.player.config.headlines.items,this.player.config.headlines.items[0],{identifierKey:"number",storageKey:"headline-"+this.player.config.id,store:this.player.store});return this.logger.group("debug",`Headline ${e.number} selected`).message("details",t).end(),e}},ir=(rr.componentName="Headline",rr.styles=[Ws],Ks([Js()],rr.prototype,"headline",void 0),Ks([en("div")],rr.prototype,"headlineContent",void 0),Ks([en("style")],rr.prototype,"headlineStyle",void 0),rr=Ks([tn("vturb-headline")],rr),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.confirmDestination(e)&&(this.projected=e.detail.content||[],e.detail.onMount)&&e.detail.onMount(this)}}confirmDestination(e){return this.name||console.warn("This destination has not been named."),e.detail.destination===this.name&&(e.stopPropagation(),!0)}connectedCallback(){super.connectedCallback(),document.addEventListener("portal-open",this.updatePortalContent,!0),document.addEventListener("portal-close",this.updatePortalContent,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("portal-open",this.updatePortalContent,!0),document.removeEventListener("portal-close",this.updatePortalContent,!0)}render(){return c`${this.projected}`}createRenderRoot(){return this}},nr=(sr.styles=[e` :host { } `],ir([Zs({type:String})],sr.prototype,"name",void 0),ir([Zs({type:Array})],sr.prototype,"projected",void 0),sr=ir([tn("portal-destination")],sr),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3 `}};function Za(e,t){return new CustomEvent(e,{composed:!0,detail:t})}nr([Zs({type:String})],ar.prototype,"destination",void 0),nr([Zs({type:Function})],ar.prototype,"onMount",void 0),nr([Zs({type:String})],ar.prototype,"reference",void 0),ar=nr([tn("portal-entrance")],ar);var Ys=e`.blocked{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;overflow:hidden;background-color:#202020;box-shadow:inset 0 0 160px 0 #000}.blocked__logo{position:absolute;width:100%;height:100%}.blocked__logo svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:80%;width:80%;opacity:.035}.blocked__logo svg path{fill:#fff}.blocked__content{top:50%;left:50%;width:80%;position:absolute;max-width:32em;text-align:center;transform:translate(-50%,-50%)}.blocked__msg{color:#ccc;text-align:center;font-size:1.2em;text-shadow:0 2px 0 #000,0 3px 3px #000}.blocked__button{color:#fff;margin:0 auto;padding:.7em 1.5em;display:inline-block;font-size:1em;margin-top:1.2em;background:#f1582d;font-weight:600;border-radius:5px;text-decoration:none;transition:transform .2s}.blocked__button:hover{transform:scale(1.05)}@media(max-width:480px){.blocked__msg{font-size:1em}.blocked__button{font-size:.8em}}`,Hs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3Ja(this,void 0,void 0,function*(){var e;this.player.removeEventListener(js.PLAYER_READY,this.check);let t={domain:pe({isIframe:this.player.isIframe,logger:this.logger}).hostname,m3u8_path:null==(e=this.player.hlsVideo)?void 0:e.m3u8,player_id:this.player.config.id};this.logger.group("debug","details to request").message("domain",t.domain).message("m3u8_path",t.m3u8_path).message("player_id",t.player_id).end(),fetch(this.URL,{body:JSON.stringify(t),method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"}}).then(e=>e.status).then(e=>{try{this.exceptionByStatus(e),this.player.dispatchEvent(new CustomEvent(js.LICENSE_ALLOWED))}catch(e){e instanceof Error&&"LicenseError"===e.name&&(this.logger.warn(`license error(${e.status}): `+e.message,e),this.error=e,this.player.dispatchEvent(new CustomEvent(js.LICENSE_DENIED,{detail:e})),this.player.changeLicense(!1))}}).catch(e=>{this.logger.network("License response error",{request:{url:this.URL,method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"},body:t},response:e instanceof Response?e:void 0})})})}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.PLAYER_READY,this.check,{once:!0})}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(js.PLAYER_READY,this.check)}exceptionByStatus(e){switch(e){case 401:throw new xf(s("license.blocked.by_rule"),401);case 403:throw new xf(s("license.blocked.payment_open"),403);case 406:throw new xf(s("license.blocked.domain_not_allowed"),406);case 451:throw new xf(s("license.blocked.indefinite_block"),451)}}render(){if(this.error)return c` `}};function*eo(t,r){if(void 0!==t){let e=0;for(var i of t)yield r(i,e++)}}or.componentName="License",or.styles=[Ys],Hs([Js()],or.prototype,"error",void 0),or=Hs([tn("vturb-license")],or);let lr=(e,t)=>{var r,i,s=e._$AN;if(void 0===s)return!1;for(let e of s)null!=(i=(r=e)._$AO)&&i.call(r,t,!1),lr(e,t);return!0},hr=e=>{let t,r;for(;void 0!==(t=e._$AM)&&((r=t._$AN).delete(e),e=t,0===(null==r?void 0:r.size)););},dr=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),cr(t)}};function to(e){void 0!==this._$AN?(hr(this),this._$AM=e,dr(this)):this._$AM=e}function ro(e,t=!1,r=0){var i=this._$AH,s=this._$AN;if(void 0!==s&&0!==s.size)if(t)if(Array.isArray(i))for(let e=r;e{e.type==_t.CHILD&&(null==e._$AP&&(e._$AP=ro),null==e._$AQ)&&(e._$AQ=to)};class Of extends Rf{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,r){super._$AT(e,t,r),dr(this),this.isConnected=e._$AU}_$AO(e,t=!0){var r;e!==this.isConnected&&((this.isConnected=e)?null!=(r=this.reconnected)&&r.call(this):null!=(r=this.disconnected)&&r.call(this)),t&&(lr(this,e),hr(this))}setValue(e){var t;void 0===this._$Ct.strings?this._$Ct._$AI(e,this):((t=[...this._$Ct._$AH])[this._$Ci]=e,this._$Ct._$AI(t,this,0))}disconnected(){}reconnected(){}}class Mf{}let ur=new WeakMap,fr=At(class extends Of{render(e){return l}update(e,[t]){var r=t!==this.G;return r&&void 0!==this.G&&this.ot(void 0),!r&&this.rt===this.lt||(this.G=t,this.dt=null==(r=e.options)?void 0:r.host,this.ot(this.lt=e.element)),l}ot(t){if("function"==typeof this.G){var r=null!=(r=this.dt)?r:globalThis;let e=ur.get(r);void 0===e&&(e=new WeakMap,ur.set(r,e)),void 0!==e.get(this.G)&&this.G.call(this.dt,void 0),e.set(this.G,t),void 0!==t&&this.G.call(this.dt,t)}else this.G.value=t}get rt(){var e;return"function"==typeof this.G?null==(e=ur.get(null!=(e=this.dt)?e:globalThis))?void 0:e.get(this.G):null==(e=this.G)?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),pr=["borderRadius","borderWidth","fontSize","height","width","left","top"],gr=class{constructor(e){var t;this.options=e,this.container=null!=(t=e.container)?t:e.player.video,this.video=this.options.player.video,this.els=this.getElementsToScale(e.elements)}getElementsToScale(e){return Array.prototype.map.call(e,t=>{let r={domEel:t,original:{}};return pr.forEach(e=>{r.original[e]=parseInt(t.style[e]||"0",10)}),r})}ratio(){return Math.min(this.video.clientWidth/this.options.width,this.video.clientHeight/this.options.height)}repositionElement(e,t){var r=this.container.clientWidth/this.options.width,i=this.container.clientHeight/this.options.height;e.domEel.style.left=e.original.left*r+(e.original.width*r/2-e.original.width*t/2)+"px",e.domEel.style.top=e.original.top*i+(e.original.height*i/2-e.original.height*t/2)+"px"}scale(){this.scaleBy(this.ratio())}scaleBy(t){this.container.style.width=this.options.width*t+"px",this.container.style.height=this.options.height*t+"px",this.container.style.left=(this.video.clientWidth-this.container.clientWidth)/2+"px",this.container.style.top=(this.video.clientHeight-this.container.clientHeight)/2+"px",this.els.forEach(e=>{this.scaleElement(e,t)})}scaleElement(r,i){let s=["top","left"];Object.entries(r.original).forEach(([e,t])=>{s.includes(e)||(r.domEel.style[e]=t*i+"px")}),this.repositionElement(r,i)}},mr=class{constructor(e,t){this.options=e,this.logger=t,this.logger.group("trace","RichElement.MaxScaleFactorCalculator.constructor").message("options",e).end(),this.maxFactor=this.calculateMaxFactor(),this.proportionalScale=this.calcElementsProportionalScale(),this.multiplier=(1-this.proportionalScale)/5;t=this.options.width{t=this.lowerBorderDistance(t);return Math.min(e,t)},0)}calcElementsProportionalScale(){var{bottom:e,left:t,right:r,top:i}=this.maxBorderDistanceOfAllElements(),r=Math.max((r-t)/this.options.width,(e-i)/this.options.height);return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.calcElementsProportionalScale").message("result",r).end(),r}calculateMaxFactor(){var e=this.bestElementToCalculate(),t=1/(2*e/this.options.width-1)*-1,r=1/(2*e/this.options.height-1)*-1;return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.calculateMaxFactor").message("distance",e).message("distanceWidth",t).message("distanceHeight",r).message("maxFactor",Math.max(t,r)).message("proportionalScale",this.proportionalScale).end(),Math.max(t,r)}lowerBorderDistance(e){var{height:t,width:r}=this.options,e=this.mountReactFromRichElement(e);return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.lowerBorderDistance").message("rect",e).end(),Math.min(e.left,e.top,r-e.right,t-e.bottom)}maxBorderDistanceOfAllElements(){var e=this.options.elements.map(e=>this.mountReactFromRichElement(e)),t=e.map(e=>e.left),r=e.map(e=>e.right),i=e.map(e=>e.top);return{bottom:e.map(e=>e.bottom).reduce((e,t)=>Math.max(e,t),0),left:t.reduce((e,t)=>Math.min(e,t),0),right:r.reduce((e,t)=>Math.max(e,t),0),top:i.reduce((e,t)=>Math.min(e,t),0)}}},vr=class{constructor(e){var t;this.options=e,this.container=null!=(t=e.container)?t:null==(t=e.player)?void 0:t.video}compareConatinerScale(e){var t=+this.container.getBoundingClientRect().width/this.options.width;return this.options.logger.group("trace","NativeScaler.compareContainerScale").message("containerRatio",t).message("ratio",e).end(),Math.max(e,t)}ratio(){var e=this.container.getBoundingClientRect(),t=Math.min(+e.width/this.options.width,+e.height/this.options.height),r=Math.max(+e.width/this.options.width,+e.height/this.options.height);return this.options.logger.group("trace","NativeScaler.ratio").message("ratioMin",t).message("ratioMax",r).message("rect",e).message("width",this.options.width).message("height",this.options.height).end(),t}scale(){this.scaleBy(this.ratio())}scaleBy(e){let t=this.compareConatinerScale(e);Array.prototype.forEach.call(this.options.elements,e=>{this.scaleElement(e,t)})}scaleElement(e,t){e.style.scale=t.toString(),e.style.transformOrigin="top left",e.style.left=(this.container.clientWidth-e.clientWidth*t)/2+"px",e.style.top=(this.container.clientHeight-e.clientHeight*t)/2+"px"}},yr=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3`}createRenderRoot(){return this}},Er=(yr([Zs()],br.prototype,"props",void 0),br=yr([tn("rich-element-box")],br),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.player.logger} href=${e.properties.link.url} id=${e.id} image_url=${e.properties.src} > `:c`${e.properties.alt}`}render(){return c` ${this.renderImage(this.props)} `}createRenderRoot(){return this}},Sr=(Er([Zs({type:Object})],Tr.prototype,"props",void 0),Er([Zs({type:Object})],Tr.prototype,"player",void 0),Tr=Er([tn("rich-element-image")],Tr),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3 ${this.props.properties.value} `}createRenderRoot(){return this}},Ar=(Sr([Zs()],_r.prototype,"props",void 0),_r=Sr([tn("rich-element-text")],_r),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3e+"px").join(" "),"--anchor-button-border-radius":this.props.properties.styles.border_radius+"px","--anchor-button-font-size":this.props.properties.typography.size+"px","--anchor-button-line-height":this.props.properties.typography.line_height+"%","--anchor-button-letter-spacing":this.props.properties.typography.letter_spacing+"px","--anchor-button-font-family":this.props.properties.typography.family,"--anchor-button-font-weight":400,"--anchor-button-shadow-horizontal":this.props.properties.styles.shadow.horizontal+"px","--anchor-button-shadow-vertical":this.props.properties.styles.shadow.vertical+"px","--anchor-button-shadow-blur":this.props.properties.styles.shadow.blur+"px","--anchor-button-shadow-spread":this.props.properties.styles.shadow.spread+"px","--anchor-button-shadow-color":this.props.properties.styles.shadow.color});return c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.player.logger} content=${this.props.properties.content} href=${this.props.properties.url||""} id=${this.id} style=${e} > `}createRenderRoot(){return this}};Ar([Zs({type:Object})],wr.prototype,"props",void 0),Ar([Zs({type:Object})],wr.prototype,"player",void 0),wr=Ar([tn("rich-element-button")],wr);var io,so,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{try{return CSS.supports("scale: 0.5")&&CSS.supports("transform-origin: top left")}catch(e){return!1}})(),this.containerRef=new Mf,this.isMobile=In(),this.scaleInterval=0,this.scale=()=>no(this,void 0,void 0,function*(){if(this.scaler){var e=this.scaler.ratio();let t=this.logger.group("trace",`Ratio Start: ${this.player.config.video.width} ---- `+e);var r=null==(r=this.factorCalculator)?void 0:r.bestFactor(e,e=>t.message("details",e));t.message("ratio",r),r&&(r=Math.min(Math.max(r,e),this.factorCalculator.maxFactor),t.message("selected ratio",r),this.scaler.scaleBy(r)),t.end()}}),io.set(this,()=>{this.containerRef.value&&this.useScaler(this.containerRef.value)}),this.renderElement=e=>"image"===e.type?c``:"text"===e.type?c``:"box"===e.type?c``:"button"===e.type?c``:void 0}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver(ao(this,io,"f")),this.resizeObserver.observe(this.player.player),document.addEventListener("DOMContentLoaded",ao(this,io,"f")),window.addEventListener("resize",ao(this,io,"f")),this.player.addEventListener(js.PLAYER_RESIZE,ao(this,io,"f")),ao(this,io,"f").call(this),this.scaleInterval&&(this.scaleIntervalId=window.setInterval(ao(this,io,"f"),this.scaleInterval))}disconnectedCallback(){var e;super.disconnectedCallback(),document.removeEventListener("DOMContentLoaded",ao(this,io,"f")),window.removeEventListener("resize",ao(this,io,"f")),null!=(e=this.player)&&e.removeEventListener(js.PLAYER_RESIZE,ao(this,io,"f")),null!=(e=this.resizeObserver)&&e.disconnect(),this.scaleIntervalId&&(window.clearInterval(this.scaleIntervalId),this.scaleIntervalId=void 0),this.scaler=void 0,this.factorCalculator=void 0}render(){var e=h({display:"block",height:this.player.config.video.height+"px",left:0,overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,width:this.player.config.video.width+"px",zIndex:"1000"});return c`
${eo(this.elements.sort((e,t)=>e.order-t.order),this.renderElement)}
`}updated(){this.scale()}createRenderRoot(){return this}useScaler(r){return no(this,void 0,void 0,function*(){this.logger.trace("useScaler",this.name);var e={height:this.player.config.video.height,player:this.player,width:this.player.config.video.width},t=Array.from(this.elementsHtml),e=(this.canUseScale?(this.logger.trace("Using NativeScaler"),this.scaler=new vr(Object.assign(Object.assign({},e),{elements:[r],logger:this.logger}))):this.scaler||(this.logger.trace("Using MakeshiftScaler"),this.scaler=new gr(Object.assign(Object.assign({},e),{container:r,elements:t,logger:this.logger}))),{elements:this.elements,height:this.player.config.video.height,width:this.player.config.video.width});this.factorCalculator=null!=(t=this.factorCalculator)?t:new mr(e,this.logger),this.scale()})}};io=new WeakMap,Lr.componentName="RichElement",Lr.styles=e``,qs([Zs({attribute:!1,type:Object})],Lr.prototype,"elements",void 0),qs([(so="rich-element-image > *, rich-element-text > *, rich-element-box > *, rich-element-button > *",it({descriptor:e=>({get(){var e;return null!=(e=null==(e=this.renderRoot)?void 0:e.querySelectorAll(so))?e:[]},enumerable:!0,configurable:!0})}))],Lr.prototype,"elementsHtml",void 0),qs([Zs({attribute:"name",reflect:!0,type:String})],Lr.prototype,"name",void 0),qs([Zs({type:Number})],Lr.prototype,"scaleInterval",void 0),Lr=qs([tn("rich-element")],Lr);class Ff extends Rf{constructor(e){if(super(e),this.et=l,e.type!==_t.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===l||null==e)return this.ft=void 0,this.et=e;if(e===y)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");return e===this.et?this.ft:(e=[this.et=e],this.ft={_$litType$:this.constructor.resultType,strings:e.raw=e,values:[]})}}Ff.directiveName="unsafeHTML",Ff.resultType=1;let kr=At(Ff),Ir=e=>{var t,r,i,s,n,a,o,l,h,d;return"pulse"===(null==e?void 0:e.animation)?(r=null!=(r=null==(r=(r=e).properties)?void 0:r.speed)?r:1,t=zs({prefix:"pulse-"}),r=` @keyframes animation-${t} { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .${t} { animation: animation-${t} ${4/r}s infinite; } `,{className:t,style:c``}):"glow"===(null==e?void 0:e.animation)?(r=null!=(r=null==(r=(t=e).properties)?void 0:r.speed)?r:1,t=null!=(t=null==(t=t.properties)?void 0:t.size)?t:4,i=zs({prefix:"glow-"}),r=` .${i} .rich-element-container :is(rich-element-box, rich-element-image):first-child :is(.rich-element-box, .rich-element-image):before { content: ''; background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); position: absolute; top: -${t}px; left: -${t}px; background-size: 500%; z-index: -1; filter: blur(${1.25*t}px); width: calc(100% - ${t*t}px); height: calc(100% - ${t*t}px); animation: animation-${i} ${75/r}s linear infinite; border-radius: ${2.5*t}px; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; padding: ${t*t}px; } .${i} picture.rich-element-image { font-size:0; color:transparent; position: relative; content: ' '; } @keyframes animation-${i} { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } `,{className:i,style:c``}):"slide-horizontal"===(null==e?void 0:e.animation)?(s=null!=(s=null==(s=(i=e).properties)?void 0:s.speed)?s:1,i=null!=(i=null==(i=i.properties)?void 0:i.distance)?i:3,n=zs({prefix:"slide-h-"}),i=` @keyframes animation-${n} { 0% { transform: translateX(-${i}%); } 50% { transform: translateX(${i}%); } 100% { transform: translateX(-${i}%); } } .${n} { position: absolute; transform-origin: center center; animation: animation-${n} ${8/s}s var(--base-transition-cubic) infinite; } `,{className:n,style:c``}):"slide-vertical"===(null==e?void 0:e.animation)?(n=null!=(n=null==(n=(s=e).properties)?void 0:n.speed)?n:1,s=null!=(s=null==(s=s.properties)?void 0:s.distance)?s:3,a=zs({prefix:"slide-v-"}),s=` @keyframes animation-${a} { 0% { transform: translateY(-${s}%); } 50% { transform: translateY(${s}%); } 100% { transform: translateY(-${s}%); } } .${a} { position: absolute; transform-origin: center center; animation: animation-${a} ${8/n}s var(--base-transition-cubic) infinite; } `,{className:a,style:c``}):"head-shake"===(null==e?void 0:e.animation)?(o=null!=(o=null==(o=(a=e).properties)?void 0:o.speed)?o:1,a=null!=(a=null==(a=a.properties)?void 0:a.distance)?a:6,l=zs({prefix:"head-shake-"}),a=` @keyframes animation-${l} { 0% { transform: translateX(0); } 6.5% { transform: translateX(-${a}px) rotateY(-${1.5*a}deg); } 18.5% { transform: translateX(${.83333333*a}px) rotateY(${1.16666667*a}deg); } 31.5% { transform: translateX(-${.5*a}px) rotateY(-${.83333333*a}deg); } 43.5% { transform: translateX(${.333*a}px) rotateY(${.5*a}deg); } 50% { transform: translateX(0); } } .${l} { position: absolute; transform-origin: center center; animation: animation-${l} ${10/o}s ease-in-out infinite; } `,{className:l,style:c``}):"tada"===(null==e?void 0:e.animation)?(l=null!=(l=null==(l=(o=e).properties)?void 0:l.speed)?l:1,o=null!=(o=null==(o=o.properties)?void 0:o.distance)?o:6,h=zs({prefix:"tada-"}),o=` @keyframes animation-${h} { from { transform: scale3d(1, 1, 1); } 8% { transform: scale3d(0.98, 0.98, 0.98) rotate3d(0, 0, 1, -${o=3*(o/5)}deg); } 16%, 32%, 48%, 64% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, ${o}deg); } 24%, 40%, 56%, 72% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -${o}deg); } 80%, 0% { transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0deg); } to { transform: scale3d(1, 1, 1); } } .${h} { position: absolute; transform-origin: center center; animation-name: animation-${h}; animation-duration: ${10/l}s; animation-timing-function: linear; animation-iteration-count: infinite; } `,{className:h,style:c``}):"swing"===(null==e?void 0:e.animation)?(e=null!=(e=null==(e=(h=e).properties)?void 0:e.speed)?e:1,h=null!=(h=null==(h=h.properties)?void 0:h.distance)?h:6,d=zs({prefix:"swing-"}),h=` @keyframes animation-${d} { from { transform: rotate3d(0, 0, 1, 0deg); } 15% { transform: rotate3d(0, 0, 1, ${15*(h/=5)}deg); } 30% { transform: rotate3d(0, 0, 1, -${10*h}deg); } 45% { transform: rotate3d(0, 0, 1, ${5*h}deg); } 60% { transform: rotate3d(0, 0, 1, -${5*h}deg); } 75% { transform: rotate3d(0, 0, 1, 0deg); } to { transform: rotate3d(0, 0, 1, 0deg); } } .${d} { position: absolute; transform-origin: center center; animation-name: animation-${d}; animation-duration: ${10/e}s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; } `,{className:d,style:c``}):{className:"",style:c``}};var oo=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};let Rr=(e,...t)=>oo(void 0,[e,...t],void 0,function*(e,t=0){if(!e.offsetParent)return N({timeout:1e4,delay:0,isReady:()=>!!e.offsetParent}).then(()=>Rr(e,t));var r=e.getBoundingClientRect(),i=window.innerHeight/2,s=r.height/2;window.scrollTo({behavior:"smooth",left:r.left+window.scrollX,top:r.top+window.scrollY-(ie,this.onOpenUrl=()=>{}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("connected",{detail:this}))}disconnectedCallback(){super.disconnectedCallback(),this.dispatchEvent(new CustomEvent("disconnected",{detail:this}))}handleScrollTo(){return lo(this,arguments,void 0,function*(e=0){this.logger.debug("scroll to anchor button",{content:this.content,offset:e}),yield Rr(this,e),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.alreadyScrolled=!0})}handleUpdateHref(e){try{this.onUrlUpdater&&(e.stopPropagation(),this.href=this.onUrlUpdater(this.href,this))}catch(e){this.logger.error("Error updating href",e)}}handleOpenLink(e){try{e.stopPropagation(),this.handleUpdateHref(e),this.onOpenUrl&&this.onOpenUrl(e)}catch(e){this.logger.error("Error handling link click",e)}}render(){var{className:e,style:t}=Ir(this.animation),e=o({["smartplayer-anchor-button--"+this.size]:!!this.size,"smartplayer-anchor-button--shadow":this.is_shadow_enabled,"smartplayer-anchor-button--image":!!this.image_url,[e]:!!this.animation});return c` this.handleOpenLink(e)} @mouseover=${e=>this.handleUpdateHref(e)} @touchstart=${e=>this.handleUpdateHref(e)} class="smartplayer-anchor-button ${e}" > ${this.image_url?c``:this.content} ${t} `}},Pr=(v.componentName="AnchorButton",m([Zs({type:Object})],v.prototype,"animation",void 0),m([Zs({type:String})],v.prototype,"href",void 0),m([Zs({type:Boolean})],v.prototype,"open_in_new_tab",void 0),m([Zs({type:String})],v.prototype,"content",void 0),m([Zs({type:String})],v.prototype,"image_url",void 0),m([Zs({type:String})],v.prototype,"size",void 0),m([Zs({type:Boolean})],v.prototype,"is_shadow_enabled",void 0),m([Zs({type:Object})],v.prototype,"logger",void 0),m([Zs({type:Function})],v.prototype,"onUrlUpdater",void 0),m([Zs({type:Function})],v.prototype,"onOpenUrl",void 0),v=m([tn("vturb-anchor-button")],v),e`vturb-headline{display:var(--headlines-display,var(--elements-display,block));opacity:var(--headlines-opacity,var(--elements-opacity,1));height:var(--headlines-height,var(--elements-height))}vturb-bigplay,vturb-call-action,vturb-call-action-v2,vturb-controls,vturb-minihook,vturb-smartautoplay,vturb-thumbsniper{opacity:var(--elements-opacity,1);height:var(--elements-height)}vturb-custom-html{display:block}`),Dr=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3e,this.onOpenUrl=()=>{}}createRenderRoot(){return this.closed?this.attachShadow({mode:"closed"}):this}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("connected",{detail:this}))}disconnectedCallback(){super.disconnectedCallback(),this.dispatchEvent(new CustomEvent("disconnected",{detail:this}))}handleScrollTo(){return ho(this,arguments,void 0,function*(e=0){this.logger.debug("scroll to custom html",{content:this.content,offset:e}),yield Rr(this,e),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.alreadyScrolled=!0})}handleUpdateHref(){this.onUrlUpdater&&this.querySelectorAll("a").forEach(e=>{try{e.href=this.onUrlUpdater(e.href,e)}catch(e){this.logger.error("Error updating href on custom html",e)}})}handleOpenLink(e){try{e.stopPropagation(),this.handleUpdateHref(),this.onOpenUrl&&this.onOpenUrl(e)}catch(e){this.logger.error("Error handling link click on custom html",e)}}render(){return c`
this.handleOpenLink(e)} @mouseover=${e=>this.handleUpdateHref()} @touchstart=${e=>this.handleUpdateHref()} .innerHTML=${Xa(this.content,this.logger)} >
`}};xr.componentName="CustomHtml",Dr([Zs({type:Boolean})],xr.prototype,"closed",void 0),Dr([Zs({type:String})],xr.prototype,"content",void 0),Dr([Zs({type:Object})],xr.prototype,"logger",void 0),Dr([Zs({type:Function})],xr.prototype,"onUrlUpdater",void 0),Dr([Zs({type:Function})],xr.prototype,"onOpenUrl",void 0),xr=Dr([tn("vturb-custom-html")],xr);var Gs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{e.style.setProperty("display",t?"block":"none","important")})}handleScrollTo(){return co(this,arguments,void 0,function*(e=0){var t=this.elements[0];t&&(this.logger.debug("scroll to delay element",{query:this.query,offset:e}),yield Rr(t,e),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.alreadyScrolled=!0)})}render(){return c` `}};Or.componentName="DelayElement",Gs([Zs({type:String})],Or.prototype,"query",void 0),Gs([Zs({type:String})],Or.prototype,"query_type",void 0),Gs([Zs({type:Object})],Or.prototype,"logger",void 0),Or=Gs([rt("vturb-delay-element")],Or);var uo,Ws=e`vturb-minihook{z-index:-1}#player.show-smartautoplay{pointer-events:none}#player .minihook{z-index:9;position:absolute;top:0;width:100%;height:100%;pointer-events:none}#player .minihook .item{opacity:0;transition:opacity .8s ease-in}#player .minihook .item.show{opacity:1}#player .minihook .item.hide{opacity:0}`,Ks=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e;this.onTimeUpdate(i(js.VIDEO_TIMEUPDATE_MS,{time:(null==(e=this.player.video)?void 0:e.currentTime)||0}))},this.onTimeUpdate=e=>{e=e.detail.time;try{var t=[...this.activeItems.values()],r=this.getItems(e);Na(t,r)||(this.activeItems=new Map(r.map(e=>[e.id,e])),this.dispatchEvent(i(js.MINIHOOK_ITEMS,{items:r})))}catch(e){this.logger.error("Error updating active items by time",e)}}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated)}getItems(t){return this.player.controllers.blockers.noneBlocker("played")?[]:this.player.config.minihooks.items.filter(e=>t>=e.range.start&&t<=e.range.finish)}render(){return c`
${xt(this.player.config.minihooks.items,e=>e.id,e=>c` `)}
`}},Fr=(Mr.styles=[Ws],Mr.componentName="Minihook",Ks([Js()],Mr.prototype,"activeItems",void 0),Mr=Ks([tn("vturb-minihook")],Mr),(e,t)=>Math.max(0,Math.min((e||0)/(t||1)*100,100))),Nr=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{let e,t=this.videoCurrentTime,r=Fr(t,this.videoDuration);null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.shouldDispatchPixel(e,t,r)&&this.dispatchedPixels.add(this.formatDispatchedPixelId(e))})},this.onTimeUpdate=(e,t)=>{var r,t=t.detail.time,i=Fr(t,this.videoDuration);"facebook"===e.type?(r=`View${i-i%uo.continousPercentage}%`,this.shouldDispatchPixel(e,t,i,r)&&this.dispatchPixel(e,r),this.shouldDispatchPixel(e,t,i)&&this.dispatchPixel(e)):this.shouldDispatchPixel(e,t,i)&&(this.dispatchPixel(e),this.player.removeEventListener(js.VIDEO_TIMEUPDATE,e.caller))}}get videoDuration(){var e;return(null==(e=this.player.video)?void 0:e.duration)||0}get videoCurrentTime(){var e;return(null==(e=this.player.video)?void 0:e.currentTime)||0}connectedCallback(){super.connectedCallback(),this.initFacebookPixel(),this.player.addEventListener(js.RESUME_CONTINUE,this.onCheckIfPixelsWasAlreadyDispatched)}disconnectedCallback(){var e;super.disconnectedCallback(),this.player.removeEventListener(js.RESUME_CONTINUE,this.onCheckIfPixelsWasAlreadyDispatched),null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{e.caller&&this.player.removeEventListener(js.VIDEO_TIMEUPDATE,e.caller)})}firstUpdated(){var e;null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.setPixelCaller(e)})}render(){return null}setPixelCaller(t){t.caller||(t.caller=e=>this.onTimeUpdate(t,e),this.player.addEventListener(js.VIDEO_TIMEUPDATE,t.caller))}updated(){var e;null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.setPixelCaller(e)})}formatDispatchedPixelId(e,t){return t?e.id+"-"+t:e.id}dispatchPixel(e,t){switch(this.logger.group("debug",`dispatching pixel: ${e.id} `+(null!=t?t:"")).message("pixel",e).end(),e.type){case"custom":var r=this.doc.createRange().createContextualFragment(atob(e.customHtml));this.logger.debug("fragment",[r,atob(e.customHtml)]),this.doc.body.appendChild(r);break;case"facebook":this.win.fbq&&"function"==typeof this.win.fbq||this.initFacebookPixel(),this.win.fbq("trackSingleCustom",e.pixelId,null!=t?t:e.pixelValue);break;case"google":this.win.gtag&&"function"==typeof this.win.gtag||this.initGoogleTagManager(),this.win.gtag("event",e.pixelValue,{send_to:e.pixelId})}this.dispatchedPixels.add(this.formatDispatchedPixelId(e,t))}initFacebookPixel(){var e=null==(e=this.player.config.pixels)?void 0:e.items.filter(e=>"facebook"===e.type).map(e=>e.pixelId).filter((e,t,r)=>r.indexOf(e)===t);this.logger.group("debug","initializing Facebook Pixel").message("pixelIds",e).end();(()=>{if(!this.win.fbq){let t=this.win.fbq=function(...e){t.callMethod?t.callMethod(...e):t.queue.push(e)};this.win._fbq||(this.win._fbq=t),(t.push=t).loaded=!0,t.version="2.0",t.queue=[];var e=this.doc.createElement("script"),r=(e.async=!0,e.src="https://connect.facebook.net/en_US/fbevents.js",this.doc.getElementsByTagName("script")[0]);r.parentNode.insertBefore(e,r)}})(),e.forEach(e=>{this.win.fbq("init",e)}),this.win.fbq("track","PageView")}initGoogleTagManager(){var e=null==(e=this.player.config.pixels)?void 0:e.items.some(e=>"google"===e.type);if(e){var t=this.win.gtag&&"function"==typeof this.win.gtag,r=this.win.dataLayer&&"function"==typeof this.win.dataLayer.push,e=(this.logger.group("debug","initializing Google Tag Manager").message("hasGooglePixel",e).message("haveGoogleTagManager",t).message("haveDatalayer",r).end(),null==(e=this.player.config.pixels)?void 0:e.items.filter(e=>"google"===e.type).map(e=>e.pixelId).filter((e,t,r)=>r.indexOf(e)===t));if(r||(this.logger.info("Add Data Layer to page"),this.win.dataLayer=this.win.dataLayer||[]),!t){this.logger.info("Add Google Tag Manager to page"),this.logger.info("https://developers.google.com/tag-manager/quickstart");let t=this.win;t.gtag=function(...e){t.dataLayer.push(e)},t.gtag("js",new Date)}e.forEach(t=>{this.win.dataLayer.find(e=>e&&e.config&&e.config.send_to===t)||(this.win.gtag("config",t),document.head.innerHTML+=``)})}}shouldDispatchPixel(e,t,r,i){var s;return!(null==(s=this.player.config.pixels)||!s.active||!Cn(i)&&this.dispatchedPixels.has(this.formatDispatchedPixelId(e))||(Cn(i)?this.dispatchedPixels.has(this.formatDispatchedPixelId(e,i)):(s="time"===e.dispatchType?t:r,!(e.dispatchIn<=s))))}};Ur.componentName="Pixels",Ur.continousPercentage=5,Nr([Js()],Ur.prototype,"dispatchedPixels",void 0),Ur=uo=Nr([tn("vturb-pixels")],Ur);var fo,Ys=e`.resume{position:absolute;top:0;left:0;right:0;bottom:0;z-index:var(--resume-index,9999);background-color:var(--resume-background-color,rgba(0,0,0,.6));backdrop-filter:blur(var(--resume-blur, .3125em));padding:.5em;cursor:initial;font-size:var(--resume-font-size,1em)}.resume__content{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center}.resume__title{margin:0 .5em .8em;min-width:var(--resume-min-width,11.25em);font-size:2.5em;line-height:var(--resume-line-height,1.3);text-align:center;color:var(--resume-foreground-color,#fff);font-weight:700}.resume__actions{display:inline-block}.resume__actions>div{background:rgba(0,0,0,0);padding:0;margin:.8em;text-align:left;cursor:pointer;border:none;display:inline-table;color:var(--resume-foreground-color,#fff);min-width:var(--resume-min-width,11.25em);opacity:1;transition:opacity .2s ease;pointer-events:all}.m-w-360 .resume__actions>div,.m-w-480 .resume__actions>div,.m-w-550 .resume__actions>div{display:table;margin-bottom:1.2em}.resume__text{text-align:left;font-size:1.4em;line-height:1.1;font-weight:700;display:table-cell;vertical-align:middle;padding:0 1em 0 .6em;align-content:normal}.resume__icon{width:2.9em;height:2.9em;padding:0;border:.125em solid var(--resume-foreground-color,#fff);fill:var(--resume-foreground-color,#fff);border-radius:50%;margin-right:.5em;display:table-cell;vertical-align:middle;text-align:center;box-sizing:border-box;padding:0;display:flex;align-items:center;justify-content:center}.resume__icon svg{display:inline-block;width:1.875em;height:1.875em}.resume__play .resume__icon{padding:0 0 0 .125em}.resume__rewind .resume__icon{padding:.0625em .25em 0 .125em}.m-w-480 .resume__title,.m-w-550 .resume__title{font-size:1.8em;margin:.6em}.m-w-480 .resume__icon,.m-w-550 .resume__icon{width:3em;height:3em}.m-w-480 .resume__icon svg,.m-w-550 .resume__icon svg{width:1.7em;height:1.7em}.m-w-360 .resume__title{font-size:1.8em;margin-bottom:.4em}.m-w-360 .resume__icon{width:2.5em;height:2.5em}.m-w-360 .resume__icon svg{width:1.125em;height:1.125em}`,Hs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{e.stopPropagation(),e.preventDefault()},this.updateResume=e=>{var t;this.player.controllers.blockers.noneBlocker("smartAutoPlay")&&null!=(t=this.player.video)&&t.currentTime&&5<=(null==(t=this.player.video)?void 0:t.currentTime)&&fo.setResumePosition(this.player.config.id,this.player.store,(null==(t=this.player.video)?void 0:t.currentTime)||0)}}static shouldLoad(e){return e.active}static getResumePosition(e,t){return t.get(e+"-resume",0)}static setResumePosition(e,t,r){t.set(e+"-resume",r)}connectedCallback(){super.connectedCallback();var e=fo.getResumePosition(this.player.config.id,this.player.store);this.player.config.resume.active&&e&&(this.player.dispatchEvent(new CustomEvent(js.RESUME_ACTIVE)),this.player.controllers.blockers.block("resume"),this.logger.debug("Resume block: "+e),this.player.controls.seek(Math.max(e-this.lastTimeReduced,0))),this.player.addEventListener(js.VIDEO_TIMEUPDATE,this.updateResume)}continue(e){e.stopPropagation(),this.player.controls.play();e=new CustomEvent(js.RESUME_CONTINUE);this.player.dispatchEvent(e),this.destroy()}destroy(){this.player.controllers.blockers.unblock("resume"),this.destroyed=!0}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_TIMEUPDATE,this.updateResume),this.player.controllers.blockers.unblock("resume")}render(){if(!this.player.controllers.blockers.noneBlocker("resume")&&!this.destroyed)return c`
${this.player.config.resume.title}
${ct} ${this.player.config.resume.play}
${ut} ${this.player.config.resume.replay}
`}restart(e){e.stopPropagation(),this.player.controls.seek(0),this.player.controls.play();e=new CustomEvent(js.RESUME_RESTART);this.player.dispatchEvent(e),this.destroy()}};Br.styles=[Ys],Hs([Js()],Br.prototype,"destroyed",void 0),Br=fo=Hs([tn("vturb-resume")],Br);var po,qs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{"resume"===e.detail.blocker?(this.logger.trace("destroy smartautoplay by resume blocker"),this.destroy()):"smartAutoPlay"!==e.detail.blocker||this.alreadyShowed||this.destroyed||(this.logger.info("show smartautoplay by smartAutoPlay blocker"),this.doShow())},this.checkIfSimulatorMP4Exists=()=>go(this,void 0,void 0,function*(){return 200===(yield fetch(this.simulatorMP4,{method:"HEAD"})).status}),this.customPreviewMount=r=>go(this,void 0,void 0,function*(){this.video=yield r.target.videoAsync;let e=({detail:e})=>{this.video.currentTime=e.time},t=()=>{this.player.removeEventListener(js.VIDEO_TIMEUPDATE,e),this.player.removeEventListener(js.SMARTAUTOPLAY_INACTIVE,t)};this.player.addEventListener(js.VIDEO_TIMEUPDATE,e),this.player.addEventListener(js.SMARTAUTOPLAY_INACTIVE,t),this.initializeVideo()}),this.destroy=()=>{this.player.dispatchEvent(new CustomEvent(js.SMARTAUTOPLAY_INACTIVE)),this.logger.trace("destroy smartautoplay"),this.player.controllers.blockers.unblock("smartAutoPlay"),this.player.config.smartAutoPlay&&(this.player.config.smartAutoPlay.active=!1),this.destroyed=!0},this.doShow=()=>go(this,void 0,void 0,function*(){this.logger.group("trace","show smartautoplay").message("config",this.settings).end(),this.alreadyShowed=!0,this.video&&this.initializeVideo()}),this.init=()=>go(this,void 0,void 0,function*(){if(this.logger.trace("init"),this.times+=1,this.player.config.preview)return this.logger.info("init preview"),this.muted();this.logger.info("init video not muted"),this.video.currentTime=0;var e=this.video.play(),e=(this.logger.info("init video play",{video:this.video}),e.then(()=>{this.logger.info("able to play video"),this.player.controllers.analytics.metric("smartautoplay.audio_play_success",1),this.removeSmartPlay()}).catch(()=>{this.logger.info("unable to play video, try muted"),this.muted()}),new CustomEvent(js.SMARTAUTOPLAY_ACTIVE,{detail:{el:this,video:this.video}}));this.player.dispatchEvent(e)}),this.initializeVideo=()=>go(this,void 0,void 0,function*(){this.video&&!this.alreadyInitialized&&(this.alreadyInitialized=!0,this.video.addEventListener("timeupdate",this.onVideoTimeUpdate),this.setDefaultAttributes(),this.init())}),this.muted=()=>go(this,void 0,void 0,function*(){let e,t,r=(null!=(e=this.settings.startAt)?e:0)+po.PLAYBACK_TOLERANCE;var i=()=>{this.logger.group("info","restore muted").message("times",this.times).end(),this.restorePreviousAttributes(),this.times<=5?setTimeout(()=>{var e;this.logger.group("info","we can't plays inline try again").message("details",{times:this.times}).end(),(null!=(e=this.video.currentTime)?e:0)<=r&&this.init()},50):(this.logger.info("startAutoPlaySimulator"),this.startAutoPlaySimulator())};if(this.video)return this.video.setAttribute("loop","loop"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("muted","muted"),this.video.setAttribute("playsinline","playsinline"),this.video.muted=!0,this.logger.info("set current time",{currentTime:this.settings.startAt}),this.video.currentTime=null!=(t=this.settings.startAt)?t:0,Promise.resolve(this.video.play()).then(()=>{this.triggerReady()}).catch(i);this.logger.error("muted: video not found")}),this.onBackgroundProbeSuccess=()=>{this.logger.info("Background autoplay probe succeeded, attempting audio play"),this.video&&!this.destroyed&&this.alreadyShowed&&(this.video.muted=!1,this.video.play().then(()=>{this.logger.info("Audio play successful after background probe"),this.player.controllers.analytics.metric("smartautoplay.background_probe_success",1),this.removeSmartPlay()}).catch(()=>{this.logger.info("Audio play failed despite background probe success"),this.player.controllers.analytics.metric("smartautoplay.background_probe_failure",1)}))},this.onSmartAutoPlayClick=e=>{this.logger.debug("click"),e.stopPropagation(),e.preventDefault(),this.removeSmartPlay()},this.onVideoTimeUpdate=()=>{var e,t;this.player.controllers.blockers.anyBlocker("played")?this.logger.warn("onVideoTimeUpdate: skipping seek operations, video already played"):((t=null!=(t=this.video.currentTime)?t:0)<(null!=(e=this.settings.startAt)?e:0)&&(this.video.currentTime=null!=(e=this.settings.startAt)?e:0),t>=(null!=(e=this.settings.endAt)?e:1/0)&&(this.video.currentTime=null!=(t=this.settings.startAt)?t:0))},this.removeSmartPlay=(e=!0)=>{this.logger.debug("removing smart autoplay"),this.restorePreviousAttributes(),e&&this.sendPlayEvent(),this.destroy()},this.restorePreviousAttributes=()=>{var e=Object.keys(this.previousAttributes);this.logger.debug("restoring previous attributes",{attributes:this.previousAttributes}),e.forEach(e=>{var t;null===this.previousAttributes[e]&&this.video?(this.video.removeAttribute(e),e in this.video&&(this.video[e]=!1)):null!=(t=this.video)&&t.setAttribute(e,this.previousAttributes[e])})},this.sendPlayEvent=()=>{var e;this.video&&(this.logger.trace("sendPlayEvent"),this.player.dispatchEvent(new CustomEvent(js.SMARTAUTOPLAY_PLAY)),this.restorePreviousAttributes(),(e=this.player.controls).volume(100),e.seek(0),this.player.autoplay(!1),this.player.video.dispatchEvent(new Event("play")),e.awaitPlay())},this.setDefaultAttributes=()=>go(this,void 0,void 0,function*(){this.video?this.previousAttributes=["loop","autoplay","muted","playsinline"].reduce((e,t)=>(e[t]=this.video.getAttribute(t),e),{}):this.logger.error("setDefaultAttributes: video not found")}),this.startAutoPlaySimulator=()=>{var e;null!=(e=this.player.controllers.analytics)&&e.customEvent("smartautoplay-simulator",{}),this.player.controllers.analytics.metric("smartautoplay.simulator_activated",1),this.smartautoplaySimulator.then(t=>go(this,void 0,void 0,function*(){var e;(yield this.checkIfSimulatorMP4Exists())?(t.src=this.simulatorMP4,t.style.display="block",t.addEventListener("load",()=>{this.triggerReady()})):(null!=(e=this.player.controllers.analytics)&&e.customEvent("smartautoplay-simulator-not-found",{}),t.style.display="none",this.triggerReady())}))}}get simulatorMP4(){var e=(this.settings.customPreview||this.player.config.video).id,t=null!=(t=this.settings.startAt)?t:0;return`https://cdn.converteai.net/${this.player.config.oid}/${e}/smartautoplay-${t}s.mp4`}static shouldLoad(e){return e.active&&0super.disconnectedCallback}});return go(this,void 0,void 0,function*(){var e;t.disconnectedCallback.call(this),this.logger.debug("disconnectedCallback"),this.player.removeEventListener(js.PLAYER_BLOCKED,this.blockerChanged),this.player.removeEventListener(js.SMARTAUTOPLAY_PROBE_SUCCESS,this.onBackgroundProbeSuccess),null!=(e=this.player.video)&&e.removeEventListener("timeupdate",this.onVideoTimeUpdate)})}firstUpdated(){this.player.controllers.blockers.anyBlocker("resume")&&this.player.controllers.blockers.noneBlocker("played")&&(this.logger.group("trace","firstUpdated: destroy smartautoplay").message("blockers",{played:this.player.controllers.blockers.noneBlocker("played"),resume:this.player.controllers.blockers.anyBlocker("resume")}).end(),this.destroy())}getSlotSmartAutoPlay(){return this.player.interface.querySelector("[slot='smartautoplay']")}render(){var e,t,r,i;if(!this.destroyed&&this.alreadyShowed)return e=this.renderFallback(),this.hasSlot?((t=this.getSlotSmartAutoPlay())&&(t.style.display="block"),c`${this.renderCustomPreview()} ${e}
`):(t=this.settings,{className:r,style:i}=Ir(t.animation),c`${this.renderCustomPreview()} ${e}
${i}${rn(null==(e=t.elements)?void 0:e.length,()=>this.renderRichElement())}
`)}renderCustomPreview(){return this.settings.customPreview?c``:c``}renderFallback(){var e="position: absolute; top: 0; left: 0; width: 100%;height: 100%; object-fit: cover; display: none; z-index: 9999;",t="smartautoplay-simulator";return Rn()||/iPad|iPhone|iPod/.test(window.navigator.userAgent)?c`${"Smart`:c``}triggerReady(){this.player.dispatchEvent(new CustomEvent(js.SMARTAUTOPLAY_VIDEO_READY))}willUpdate(e){!this.alreadyShowed&&!this.destroyed&&this.player.controllers.blockers.noneBlocker("resume")&&this.player.controllers.blockers.noneBlocker("played")&&this.player.controllers.blockers.block("smartAutoPlay"),e.has("destroyed")&&this.destroyed&&(this.logger.debug("willUpdate: destroyed"),this.player.removeEventListener(js.PLAYER_BLOCKED,this.blockerChanged)),this.logger.group("trace","willUpdate").message("checks",{alreadyShowed:!!this.alreadyShowed,played:this.player.controllers.blockers.noneBlocker("played"),resume:this.player.controllers.blockers.noneBlocker("resume")}).end()}renderRichElement(){return c``}};b.componentName="SmartAutoPlay",b.PLAYBACK_TOLERANCE=.01,b.styles=e` #player.show-smartautoplay { pointer-events: none; } #player.already-played .smartautoplay { display: none; } #player.show-smartautoplay .smartautoplay { display: block; } .smartautoplay { display: none; cursor: pointer; z-index: 9999; position: absolute; top: 0; width: 100%; height: 100%; } .smartautoplay { cursor: pointer; } .smartautoplay .controller-mask { opacity: 0 !important; transform: translateY(100%) !important; } .smartautoplay .controller { opacity: 0 !important; transform: translateY(100%) !important; } .smartautoplay { } .smartautoplay .smartautoplay * { cursor: pointer; } `,qs([Js()],b.prototype,"destroyed",void 0),qs([Js()],b.prototype,"hasSlot",void 0),qs([Zs({type:Object})],b.prototype,"settings",void 0),qs([Js()],b.prototype,"show",void 0),qs([Da(".smartautoplay")],b.prototype,"smartautoplay",void 0),qs([Da(".smartautoplay-simulator")],b.prototype,"smartautoplaySimulator",void 0),b=po=qs([tn("vturb-smartautoplay")],b);var sn,Gs=e`.thumbsniper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--thumbsniper-index,100);pointer-events:none;display:none}.in-pause .thumbsniper{display:block}.thumbsniper__thumb{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--thumbsniper-background-color)}.thumbsniper__thumb img{width:100%;height:100%;object-fit:var(--thumbsniper-image-fit)}.thumbsniper vturb-anchor-button{position:absolute}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tl{top:var(--thumbsniper-button-margin);left:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tc{top:var(--thumbsniper-button-margin);left:50%;transform:translateX(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tr{top:var(--thumbsniper-button-margin);right:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cl{top:50%;left:var(--thumbsniper-button-margin);transform:translateY(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cc{top:50%;left:50%;transform:translate(-50%,-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cr{top:50%;right:var(--thumbsniper-button-margin);transform:translateY(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--bl{bottom:var(--thumbsniper-button-margin);left:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--bc{bottom:var(--thumbsniper-button-margin);left:50%;transform:translateX(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--br{bottom:var(--thumbsniper-button-margin);right:var(--thumbsniper-button-margin)}`,Ws=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e;null!=(e=this.player)&&e.hlsVideo&&null!=(e=this.currentThumb)&&e.image&&this.player.hlsVideo.setMediaSessionArtwork(this.currentThumb.image)},this.onEnded=()=>{this.player.config.video.picFinish&&(this.currentThumb={finish:1/0,id:"pic-finish",image:this.player.config.video.picFinish,start:0},this.requestUpdate())},this.onPlayerConfigUpdated=()=>{var e;this.onTimeUpdate(i(js.VIDEO_TIMEUPDATE_MS,{time:(null==(e=this.player.video)?void 0:e.currentTime)||0}))},this.onTimeUpdate=e=>{e=this.getThumb(e.detail.time);e!==this.currentThumb&&(this.logger.group("debug","change thumb: "+(null==e?void 0:e.id)).message("thumb",e).end(),this.currentThumb=e)},this.togglePlay=e=>{e.stopPropagation(),this.player.controls.toggle()}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.addEventListener(js.VIDEO_ENDED,this.onEnded),this.player.addEventListener(js.VIDEO_PAUSE,this.onUpdateMediaSessionArtwork),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(js.VIDEO_TIMEUPDATE_MS,this.onTimeUpdate),this.player.removeEventListener(js.VIDEO_ENDED,this.onEnded),this.player.removeEventListener(js.VIDEO_PAUSE,this.onUpdateMediaSessionArtwork),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onPlayerConfigUpdated)}getThumb(e){if(this.player.config.thumbsniper.active)for(var t of this.player.config.thumbsniper.items)if(t.start<=e&&t.finish>=e)return t;return null}render(){return!this.currentThumb||this.player.controllers.blockers.noneBlocker("played")?null:c`
${this.renderThumb()} ${this.renderButton()}
`}renderButton(){var e,t;return null!=(e=this.currentThumb)&&e.button?(e=this.currentThumb.button,t=h({"--anchor-button-background-color":e.backgroundColor,"--anchor-button-background-color-hover":e.backgroundHoverColor,"--anchor-button-color":e.textColor,"--anchor-button-color-hover":e.textColor}),c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.player.controllers.analytics.onPlayerExitClick()} .logger=${this.logger} class="thumbsniper__button_position--${e.position}" content=${e.name} href=${e.url} id=${e.id} size=${e.size} style=${t} > `):null}renderThumb(){return this.currentThumb?c`
thumbnail
`:null}};$r.styles=[Gs],Ws([Js()],$r.prototype,"currentThumb",void 0),$r=Ws([tn("vturb-thumbsniper")],$r);class Nf extends yn{constructor(){super(...arguments),this.onSpeedChange=()=>{var e;this.config.turbo.active&&(e="single"===this.config.turbo.type?this.useSingle(this.config.turbo):this.useAutoTest(this.config.turbo),this.player.dispatchEvent(i(js.TURBO_SPEED_CHANGED,{speed:e})),this.player.dispatchEvent(new CustomEvent(js.TURBO_ACTIVE)))}}disconnectedCallback(){this.player.dispatchEvent(new CustomEvent(js.TURBO_INACTIVE)),this.player.removeEventListener(js.PLAYER_CONFIG_UPDATED,this.onSpeedChange)}init(){this.logger.debug("init"),this.logger.debug("host connected"),this.player.addEventListener(js.PLAYER_READY,this.onSpeedChange,{once:!0}),this.player.addEventListener(js.PLAYER_CONFIG_UPDATED,this.onSpeedChange)}useAutoTest(e){this.logger.info("use auto test",{turbos:e});var e=(null!=(e=e.items)?e:[]).filter(e=>e.active);return 0e&&!!t],(Ks=sn=sn||{}).callactionConnected="callactionConnected",Ks.callactionCurrentActiveItems="callactionCurrentActiveItems",Ks.connect="connect",Ks.disableConversionTraking="disableConversionTraking",Ks.displayCallActions="displayCallActions",Ks.displayHeadline="displayHeadline",Ks.displayHiddenElements="displayHiddenElements",Ks.enableConversionTraking="enableConversionTraking",Ks.exitPlayerClick="exitPlayerClick",Ks.fullscreen="fullscreen",Ks.fullscreenEnter="fullscreenEnter",Ks.fullscreenExit="fullscreenExit",Ks.iframeOpenLink="iframeOpenLink",Ks.insertAfter="insertAfter",Ks.insertBefore="insertBefore",Ks.mute="mute",Ks.pitchTime="pitchTime",Ks.reply="reply",Ks.resume="resume",Ks.smartautoplayActive="smartautoplayActive",Ks.smartautoplayInactive="smartautoplayInactive",Ks.smartautoplayVideoReady="smartautoplayVideoReady",Ks.smartplay="smartplay",Ks.unmute="unmute",Ks.updateUrlParams="updateUrlParams",Ks.videoDuration="videoDuration",Ks.videoEnded="videoEnded",Ks.videoPause="videoPause",Ks.videoPlay="videoPlay",Ks.videoSeek="videoSeek",Ks.videoSpeed="videoSpeed",Ks.videoTimeUpdate="videoTimeUpdate";let Vr="smartplayer/message-text-v4",Gr=(Ks.volumeChange="volumeChange",e=>{e=e.video;return e.aspectRatio?100*e.aspectRatio:e.height/e.width*100});var mo=function(e,a,o,l){return new(o=o||Promise)(function(r,t){function i(e){try{n(l.next(e))}catch(e){t(e)}}function s(e){try{n(l.throw(e))}catch(e){t(e)}}function n(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(i,s)}n((l=l.apply(e,a||[])).next())})};class Uf{constructor(e){this.player=e,this.logger=new vn("IframeSdkClient"),this.logger.debug("IframeSdkClient constructor"),this.shouldConnect()&&this.connect()}doConnect(){this.send(sn.connect,{aspect:Gr(this.player.config),id:this.player.config.id,isVideoVertical:this.player.config.video.width{e.mime===Vr&&this.onMessage(e)}),this.doConnect()}mapEventToMessage(){var e;this.shouldConnect()&&(this.player.addEventListener(js.IFRAME_OPEN_LINK,e=>{this.send(sn.iframeOpenLink,{target:e.detail.target,url:e.detail.url})}),this.player.addEventListener(js.VIDEO_VOLUMECHANGE,()=>{var e;this.send(sn.volumeChange,{volume:(null==(e=this.player.video)?void 0:e.volume)||1})}),this.player.addEventListener(js.VIDEO_PLAY,()=>{this.send(sn.videoPlay,{})}),this.player.addEventListener(js.VIDEO_PAUSE,()=>{this.send(sn.videoPause,{})}),this.player.addEventListener(js.SMARTAUTOPLAY_ACTIVE,()=>{this.send(sn.smartautoplayActive,{})}),this.player.addEventListener(js.SMARTAUTOPLAY_INACTIVE,()=>{this.send(sn.smartautoplayInactive,{})}),this.player.addEventListener(js.SMARTAUTOPLAY_VIDEO_READY,()=>{this.send(sn.smartautoplayVideoReady,{})}),this.player.addEventListener(js.PITCH_TIME,()=>{this.send(sn.pitchTime,{})}),this.player.addEventListener(js.CALLACTION_CONNECTED,e=>{this.send(sn.callactionConnected,e.detail)}),this.player.addEventListener(js.CALLACTION_CURRENT_ACTIVE_ITEMS,e=>{this.send(sn.callactionCurrentActiveItems,e.detail)}),this.player.addEventListener(js.VIDEO_ENDED,()=>{this.send(sn.videoEnded,{})}),this.player.addEventListener(js.FULLSCREEN_ENTER,()=>{this.send(sn.fullscreenEnter,{})}),this.player.addEventListener(js.FULLSCREEN_EXIT,()=>{this.send(sn.fullscreenExit,{})}),this.player.addEventListener(js.VIDEO_TIMEUPDATE_MS,()=>{this.send(sn.videoTimeUpdate,{time:this.player.interface.currentTime})}),this.player.addEventListener(js.CONVERSION_TRACKING_ENABLED,()=>{this.send(sn.enableConversionTraking,{})}),this.player.addEventListener(js.CONVERSION_TRACKING_DISABLED,()=>{this.send(sn.disableConversionTraking,{})}),this.player.addEventListener(js.HEADLINE_RENDERED,e=>{this.send(sn.displayHeadline,{headline:e.detail.headline,html:e.detail.html,style:e.detail.style})}),this.player.addEventListener(js.VIDEO_TIMEUPDATE,e=()=>{var e=this.player.urlUpdater("http://localhost/"),e=new URLSearchParams(e.split("?")[1]);let r={};e.forEach((e,t)=>{r[t]=e}),this.send(sn.updateUrlParams,{params:r})}),this.player.addEventListener(js.VIDEO_ENDED,e),this.player.addEventListener(js.CONVERSION_TRACKING_UPDATE,e),this.player.addEventListener(js.PLAYER_BLOCKED,e=>{switch(e.detail.blocker){case"resume":this.send(sn.resume,!0);break;case"smartAutoPlay":this.send(sn.smartplay,!0);break;default:this.logger.debug("Player blocked",{blocker:e.detail.blocker})}}),this.player.addEventListener(js.PLAYER_UNBLOCKED,e=>{switch(e.detail.blocker){case"resume":this.send(sn.resume,!1);break;case"smartAutoPlay":this.send(sn.smartplay,!1);break;default:this.logger.debug("Player unblocked",{blocker:e.detail.blocker})}}),this.player.addEventListener(js.PLAYER_READY,()=>mo(this,void 0,void 0,function*(){var e;yield N({delay:100,isReady:()=>{var e;return void 0!==(null==(e=this.player.video)?void 0:e.duration)&&0<(null==(e=this.player.video)?void 0:e.duration)},timeout:2e3}),this.send(sn.videoDuration,{duration:(null==(e=this.player.video)?void 0:e.duration)||0})})))}onMessage(e){let t,{payload:r,type:i}=e;switch(i){case sn.connect:this.doConnect();break;case sn.displayHiddenElements:this.player.interface.displayHiddenElements(r.time,r.selectors,Object.assign(Object.assign({},null!=(t=r.options)?t:{}),{callback:()=>this.send(sn.reply,{reply:r.reply})}));break;case sn.exitPlayerClick:this.player.dispatchEvent(new CustomEvent(js.PLAYER_EXIT_CLICK,{detail:{}}));break;case sn.fullscreen:this.player.interface.fullscreen(r.mode);break;case sn.mute:this.player.interface.mute();break;case sn.unmute:this.player.interface.unmute();break;case sn.videoPause:this.player.interface.pause();break;case sn.videoPlay:this.player.interface.play();break;case sn.videoSeek:this.player.interface.seek(r.time);break;case sn.videoSpeed:this.player.interface.speed(r.speed);break;case sn.volumeChange:this.player.interface.setVolume(r.volume);break;default:this.logger.warn("Unknown message",e)}}send(e,t){var r;null!=(r=window.parent)&&r.postMessage({id:this.player.config.id,mime:Vr,payload:t,type:e},"*")}shouldConnect(){return null!==document.querySelector("meta[name='vturb-iframe']")&&window.parent!==window}}function vo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let jr="undefined"!=typeof localStorage?localStorage:"undefined"!=typeof sessionStorage?sessionStorage:{clear:()=>{document.cookie.split(";").forEach(e=>{document.cookie=e.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date(0).toUTCString()};path=/`)})},getItem:e=>{e=vo(e),e=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return e?e[2]:null},key:()=>null,length:0,removeItem:e=>{e=vo(e);document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"},setItem:(e,t)=>{e=vo(e);document.cookie=e+`=${t};path=/`}},Hr={get(e,t){var e=jr.getItem(e);return!e||null===(e=(e=>{try{return JSON.parse(e)}catch(e){return null}})(e))?t:e},set(e,t){jr.setItem(e,JSON.stringify(t))}},j=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},zr=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=Kr},Kr=Number.MAX_SAFE_INTEGER||9007199254740991,W=(e=>(e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e))({}),q=(e=>(e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.UNKNOWN="unknown",e))({}),X=(e=>(e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e))({});var yo="manifest",bo="level",Eo="audioTrack",To="subtitleTrack",nn="main",So="audio",_o="subtitle";class Bf{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){var r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class $f{constructor(e,t,r,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Bf(e),this.fast_=new Bf(t),this.defaultTTFB_=i,this.ttfb_=new Bf(e)}update(e,t){var{slow_:r,fast_:i,ttfb_:s}=this;r.halfLife!==e&&(this.slow_=new Bf(e,r.getEstimate(),r.getTotalWeight())),i.halfLife!==t&&(this.fast_=new Bf(t,i.getEstimate(),i.getTotalWeight())),s.halfLife!==e&&(this.ttfb_=new Bf(e,s.getEstimate(),s.getTotalWeight()))}sample(e,t){e=(e=Math.max(e,this.minDelayMs_))/1e3,t=8*t/e;this.fast_.sample(e,t),this.slow_.sample(e,t)}sampleTTFB(e){var t=e/1e3,t=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(t,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function Ao(e,t,r){(t=(e=>"symbol"==typeof(e=((e,t)=>{if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);if("object"!=typeof(r=r.call(e,t)))return r;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"))?e:e+"")(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}function an(){return(an=Object.assign?Object.assign.bind():function(e){for(var t=1;t`):Yr)}let qr=Lo(),H=qr;function Io(e=!0){if("undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function Ro(e,t){e=Object.keys(e);let r=Object.keys(t);var t=e.length,i=r.length;return!t||!i||t===i&&!e.some(e=>-1===r.indexOf(e))}function Co(e,t=!1){var r,i;if("undefined"!=typeof TextDecoder)return r=new TextDecoder("utf-8").decode(e),t?-1!==(i=r.indexOf("\0"))?r.substring(0,i):r:r.replace(/\0/g,"");var s,n,a=e.length;let o,l="",h=0;for(;h>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:l+=String.fromCharCode(s);break;case 12:case 13:o=e[h++],l+=String.fromCharCode((31&s)<<6|63&o);break;case 14:o=e[h++],n=e[h++],l+=String.fromCharCode((15&s)<<12|(63&o)<<6|(63&n)<<0)}}return l}function Po(r){let i="";for(let t=0;t{let t=e.subarray(8),r=t.subarray(86),i=hn(t.subarray(4,8)),s=i,n,a="enca"===i||"encv"===i;a&&(e=cn(t,[i])[0],cn(e.subarray("enca"===i?28:78),["sinf"]).forEach(e=>{var t=cn(e,["schm"])[0];!t||"cbcs"!==(t=hn(t.subarray(4,8)))&&"cenc"!==t||(t=cn(e,["frma"])[0])&&(s=hn(t))}));var o=s;switch(s){case"avc1":case"avc2":case"avc3":case"avc4":var l=cn(r,["avcC"])[0];l&&3>3;31===t&&(t+=1+((7&d)<<3)+((224&h[e])>>5)),s+="."+t}break;case"hvc1":case"hev1":h=cn(r,["hvcC"])[0];if(h&&12>6],p=31&u,g=dn(h,2),u=(32&u)>>5?"H":"L",m=h[12],v=h.subarray(6,12);s=(s=(s+="."+f+p)+("."+(t=>{let r=0;for(let e=0;e<32;e++)r|=(t>>e&1)<<31-e;return r>>>0})(g).toString(16).toUpperCase()))+("."+u+m);let t="";for(let e=v.length;e--;){var y=v[e];(y||t)&&(y=y.toString(16).toUpperCase(),t="."+y+t)}s+=t}n=Yo("hev1"==o?"dvhe":"dvh1",r);break;case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":s=Yo(s,r)||s;break;case"vp09":f=cn(r,["vpcC"])[0];f&&6>4&15,s+="."+Xo(p)+"."+Xo(g)+"."+Xo(u));break;case"av01":var b,E,T,S,_,A,w,L,m=cn(r,["av1C"])[0];m&&2>>5,E=31&m[1],T=m[2]>>>7?"H":"M",_=(64&m[2])>>6,S=(32&m[2])>>5,S=2==b&&_?S?12:10:_?10:8,_=(16&m[2])>>4,A=(8&m[2])>>3,w=(4&m[2])>>2,L=3&m[2],0,s+="."+b+"."+Xo(E)+T+"."+Xo(S)+"."+_+"."+A+w+L+".01.01.01.0",n=Yo("dav1",r))}return{codec:s,encrypted:a,supplemental:n}})(cn(a,["mdia","minf","stbl","stsd"])[0]),n?(r[o]={timescale:i,type:n,stsd:a},r[n]=on({timescale:i,id:o},a)):r[o]={timescale:i,type:s,stsd:a})}return cn(e,["moov","mvex","trex"]).forEach(e=>{var t=dn(e,4),t=r[t];t&&(t.default={duration:dn(e,12),flags:dn(e,20)})}),r}function Yo(e,t){var r=cn(t,["dvvC"]),r=(r.length?r:cn(t,["dvcC"]))[0];if(r)return t=r[2]>>1&127,r=r[2]<<5&32|r[3]>>3&31,e+"."+Xo(t)+"."+Xo(r)}function Wo(e,t){for(var r=t+5;128&e[t++]&&t{r=cn(r,["mdia","minf","stbl","stsd"])[0];if(r){r=r.subarray(8);let e=cn(r,["enca"]),t=0{cn(t?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{e=Zo(e);e&&i(e,t)})})}})}function Zo(e){var t=cn(e,["schm"])[0];if(t){t=hn(t.subarray(4,8));if("cbcs"===t||"cenc"===t){t=cn(e,["schi","tenc"])[0];if(t)return t}}}function Jo(e,t,r){let o={};var i=cn(e,["moof","traf"]);for(let e=0;eo[e].duration)){let t=1/0,r=0;var s=cn(e,["sidx"]);for(let e=0;e{var r=[],e=t[0];let i=8;var s=dn(t,i);i+=4;let n=0,a=0,o=(0===e?(n=dn(t,i),a=dn(t,i+4),i+=8):(n=Ho(t,i),a=Ho(t,i+8),i+=16),i+=2,t.length+a);var l=jo(t,i);i+=2;for(let e=0;e>>31)return H.warn("SIDX has hierarchical references (not supported)"),null;d=dn(t,h);h+=4,r.push({referenceSize:c,subsegmentDuration:d,info:{duration:d/s,start:o,end:o+c-1}}),o+=c,h+=4,i=h}return{earliestPresentationTime:n,timescale:s,version:e,referencesCount:l,references:r}})(s[e]);null!=a&&a.references&&(t=Math.min(t,a.earliestPresentationTime/a.timescale),n=a.references.reduce((e,t)=>e+t.info.duration||0,0),r=Math.max(r,n+a.earliestPresentationTime/a.timescale))}r&&j(r)&&Object.keys(o).forEach(e=>{o[e].duration||(o[e].duration=r*o[e].timescale-o[e].start)})}return o}function el(e,t){var r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function tl(E,T){let S=[],_=T.samples,A=T.timescale,h=T.id,w=!1;return cn(_,["moof"]).map(e=>{let b=e.byteOffset-8;cn(e,["traf"]).map(l=>{var e=cn(l,["tfdt"]).map(e=>{var t=e[0];let r=dn(e,4);return(r=1===t?(r*=Math.pow(2,32))+dn(e,8):r)/A})[0];return void 0!==e&&(E=e),cn(l,["tfhd"]).map(e=>{var t=dn(e,4),r=16777215&dn(e,0),i=0!=(1&r),s=0!=(2&r),n=0!=(8&r);let v=0;var a=0!=(16&r);let y=0;r=0!=(32&r);let o=8;t===h&&(i&&(o+=8),s&&(o+=4),n&&(v=dn(e,o),o+=4),a&&(y=dn(e,o),o+=4),r&&(o+=4),"video"===T.type&&(w=rl(T.codec)),cn(l,["trun"]).map(t=>{var r=t[0],e=16777215&dn(t,0);let i=0;var s=0!=(256&e);let n=0;var a=0!=(512&e);let o=0;var l=0!=(1024&e),h=0!=(2048&e);let d=0;var c,u,f=dn(t,4);let p=8,g=(0!=(1&e)&&(i=dn(t,p),p+=4),0!=(4&e)&&(p+=4),i+b);for(let e=0;e>1&63)||40==c:6==(31&u))&&il(_.subarray(g,g+m),w?2:1,E+d/A,S),g+=m,e+=m+4}}E+=n/A}}))})})}),S}function rl(e){return!!e&&("hvc1"===(e=e.substring(0,4))||"hev1"===e||"dvh1"===e||"dvhe"===e)}function il(e,t,r,i){var s=sl(e);let n=0,a=(n+=t,0),o=0,l=0;for(;n=s.length)&&(l=s[n++],a+=l,255===l););for(o=0;!(n>=s.length)&&(l=s[n++],o+=l,255===l););var h=s.length-n;let t=n;if(oh){H.error(`Malformed SEI payload. ${o} is too small, only ${h} bytes left to parse.`);break}if(4===a){if(181===s[t++]){h=jo(s,t);if(t+=2,49===h){h=dn(s,t);if(t+=4,1195456820===h){h=s[t++];if(3===h){var d=s[t++],c=64&d,u=c?2+3*(31&d):0,f=new Uint8Array(u);if(c){f[0]=d;for(let e=1;e>24&255,d[1]=e>>16&255,d[2]=e>>8&255,d[3]=255&e,d.set(o,4),t=0,e=8;t{var t=e.getUint32(0),r=e.byteOffset,i=e.byteLength;if(i>>24)&&1!=s)return{offset:r,size:t};let n=e.buffer,a=Po(new Uint8Array(n,r+12,16)),o=null,l=null,h=0;if(0==s)h=28;else{var d=e.getUint32(28);if(!d||i<32+16*d)return{offset:r,size:t};o=[];for(let e=0;e/\(Windows.+Firefox\//i.test(navigator.userAgent),ei={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function ol(e,t){t=ei[t];return!!t&&!!t[e.slice(0,4)]}function ll(e,t,r=!0){return!e.split(",").some(e=>!hl(e,t,r))}function hl(e,t,r=!0){var r=Io(r);return null!=(r=null==r?void 0:r.isTypeSupported(dl(e,t)))&&r}function dl(e,t){return t+"/mp4;codecs="+e}function cl(e){return e?(e=e.substring(0,4),ei.video[e]):2}function ul(e){let i=Jr();return e.split(",").reduce((e,t)=>{var r=i&&rl(t)?9:ei.video[t];return r?(2*r+e)/(e?3:2):(ei.audio[t]+e)/(e?2:1)},0)}let ti={},ri=/flac|opus|mp4a\.40\.34/i;function fl(e,n=!0){return e.replace(ri,e=>{var[t,r=!0]=[e.toLowerCase(),n];if(ti[t])return ti[t];var i,s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[t];for(let e=0;e!1};return{mpeg:e.isTypeSupported("audio/mpeg"),mp3:e.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:e.isTypeSupported('audio/mp4; codecs="ac-3"')}}function vl(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let ii={supported:!1,smooth:!1,powerEfficient:!1},si={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function yl(e,t){return{supported:!1,configurations:t,decodingInfoResults:[ii],error:e}}function bl(e,t,r,i={}){var s=e.videoCodec;if(!s&&!e.audioCodec||!r)return Promise.resolve(si);let n=[];var a=(e=>{let t,r=null==(t=e.videoCodec)?void 0:t.split(","),i=El(e),s=e.width||640,n=e.height||480,a=e.frameRate||30,o=e.videoRange.toLowerCase();return r?r.map(e=>{e={contentType:dl((e=>{if(e.startsWith("av01.")){var t=e.split("."),r=["0","111","01","01","01","0"];for(let e=t.length;4{let t,n=null==(t=e.audioCodec)?void 0:t.split(","),a=El(e);return n&&e.audioGroups?e.audioGroups.reduce((e,t)=>{var r=t?null==(r=i.groups[t])?void 0:r.tracks:null;return r?r.reduce((r,e)=>{if(e.groupId===t){let t=parseFloat(e.channels||"");n.forEach(e=>{e={contentType:dl(e,"audio"),bitrate:s?((e,t)=>{if(t<=1)return 1;let r=128e3;return"ec-3"===e?r=768e3:"ac-3"===e&&(r=64e4),Math.min(t/2,r)})(e,a):a};t&&(e.channels=""+t),r.push(e)})}return r},e):e},[]):[]})(e,t,0rl(e))&&Jr())return Promise.resolve(yl(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),n))}return Promise.all(n.map(e=>{var t=(e=>{let t="",{audio:r,video:i}=e;return i&&(e=vl(i.contentType),t+=`${e}_r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_`+Math.ceil(i.bitrate/1e5)),r&&(e=vl(r.contentType),t+=(i?"_":"")+e+"_c"+r.channels),t})(e);return i[t]||(i[t]=r.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:n,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:n,decodingInfoResults:[],error:e}))}function El(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let ni=["NONE","TYPE-0","TYPE-1",null],ai=["SDR","PQ","HLG"];var Tl="",Sl="YES",_l="v2";function Al(e){var{canSkipUntil:e,canSkipDateRanges:t,age:r}=e;return e&&r!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e&&(this.supplemental=e.supplemental,t=null==(t=e.supplemental)?void 0:t.videoCodec)&&t!==e.videoCodec&&(this.codecSet+=","+t.substring(0,4)),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return wl(this._audioGroups,e)}hasSubtitleGroup(e){return wl(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t)if("audio"===e){let e=this._audioGroups;-1===(e=e||(this._audioGroups=[])).indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;-1===(e=e||(this._subtitleGroups=[])).indexOf(t)&&e.push(t)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function wl(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function Ll(e,t){let r=!1,i=[];return e&&(r="SDR"!==e,i=[e]),!t||(e="SDR"!==(i=t.allowedVideoRanges||ai.slice(0)).join("")&&!t.videoCodec,r=void 0!==t.preferHDR?t.preferHDR:e&&(()=>{if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1})())||(i=["SDR"]),{preferHDR:r,allowedVideoRanges:i}}let oi=r=>{let i=new WeakSet;return(e,t)=>{if("object"==typeof(t=r?r(e,t):t)&&null!==t){if(i.has(t))return;i.add(t)}return t}},$=(e,t)=>JSON.stringify(e,oi(t));function kl(e,t){H.log(`[abr] start candidates with "${e}" ignored because `+t)}function Il(e){return e.reduce((e,t)=>{let r=e.groups[t.groupId];(r=r||(e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1})).tracks.push(t);var i=t.channels||"2";return r.channels[i]=(r.channels[i]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function Rl(e){var t,r,i,s,n;return e&&({lang:t,assocLang:r,characteristics:i,channels:s,audioCodec:n}=e,{lang:t,assocLang:r,characteristics:i,channels:s,audioCodec:n})}function Cl(t,r,i){if("attrs"in t){var e=r.indexOf(t);if(-1!==e)return e}for(let e=0;e{let r=e.split(","),i=t.split(",");return r.length===i.length&&!r.some(e=>-1===i.indexOf(e))})(e.characteristics||"",t.characteristics))&&(void 0===r||r(e,t))}function Dl(e,t){var{audioCodec:e,channels:r}=e;return!(void 0!==e&&(t.audioCodec||"").substring(0,4)!==e.substring(0,4)||void 0!==r&&r!==(t.channels||"2"))}function xl(t,r,i){for(let e=r;-1{let s,{fragCurrent:n,partCurrent:a,hls:o}=this;var{autoLevelEnabled:l,media:h}=o;if(n&&h){var d=performance.now(),c=(a||n).stats,u=(a||n).duration,d=d-c.loading.start;let i=o.minAutoLevel;var f=n.level,p=this._nextAutoLevel;if(c.aborted||c.loaded&&c.loaded===c.total||f<=i)this.clearTimer(),this._nextAutoLevel=-1;else if(l){l=-1i;r--){var A=y[r].maxBitrate,w=!y[r].details||_;if((e=this.getTimeToLoadFrag(T,S,u*A,w))=b||e>10*u||(h?this.bwEstimator.sample(d-Math.min(p,g),c.loaded):this.bwEstimator.sampleTTFB(d),t=y[r].maxBitrate,this.getBwEstimate()*E>t&&this.resetEstimator(t),-1<(h=this.findBestLevel(t,i,r,0,m,1,1))&&(r=h),this.warn(`Fragment ${n.sn}${a?" part "+a.index:""} of level ${f} is loading too slowly; Fragment duration: ${n.duration.toFixed(3)} Time to underbuffer: ${m.toFixed(3)} s Estimated load time for current fragment: ${b.toFixed(3)} s Estimated load time for down switch fragment: ${e.toFixed(3)} s TTFB estimate: ${0|g} ms Current BW estimate: ${j(v)?0|v:"Unknown"} bps New BW estimate: ${0|this.getBwEstimate()} bps Switching to level ${r} @ ${0|t} bps`),o.nextLoadLevel=o.nextAutoLevel=r,this.clearTimer(),p=()=>{if(this.clearTimer(),this.fragCurrent===n&&this.hls.loadLevel===r&&0i){let e=this.findBestLevel(this.hls.levels[i].bitrate,i,r,0,t,1,1);-1===e&&(e=i),this.hls.nextLoadLevel=this.hls.nextAutoLevel=e,this.resetEstimator(this.hls.levels[e].bitrate)}}},l||b>2*e?p():this.timer=self.setInterval(p,1e3*e),o.trigger(X.FRAG_LOAD_EMERGENCY_ABORTED,{frag:n,part:a,stats:c}))}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){var e=this.hls.config;return new $f(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(X.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){-1Math.max(e,t)&&r[e].loadError<=r[t].loadError)return e}return this._nextAutoLevel=t,this.nextAutoLevelKey=this.getAutoLevelKey(),t}getAutoLevelKey(){return this.getBwEstimate()+"_"+this.getStarvationDelay().toFixed(2)}getNextABRAutoLevel(){var{fragCurrent:e,partCurrent:t,hls:r}=this;if(r.levels.length<=1)return r.loadLevel;var{maxAutoLevel:i,config:s,minAutoLevel:n}=r,t=t?t.duration:e?e.duration:0,e=this.getBwEstimate(),a=this.getStarvationDelay();let o=s.abrBandWidthFactor,l=s.abrBandWidthUpFactor;if(a){var h=this.findBestLevel(e,n,i,a,0,o,l);if(0<=h)return this.rebufferNotice=-1,h}let d=t?Math.min(t,s.maxStarvationDelay):s.maxStarvationDelay;a||(h=this.bitrateTestDelay)&&(t=t?Math.min(t,s.maxLoadingDelay):s.maxLoadingDelay,d=t-h,this.info(`bitrate test took ${Math.round(1e3*h)}ms, set first fragment max fetchDuration to ${Math.round(1e3*d)} ms`),o=l=1);s=this.findBestLevel(e,n,i,a,d,o,l);return this.rebufferNotice!==s&&(this.rebufferNotice=s,this.info(`${a?"rebuffering expected":"buffer is empty"}, optimal quality level `+s)),-1{var n=Object.keys(i);let a=null==t?void 0:t.channels,o=null==t?void 0:t.audioCodec,l=null==r?void 0:r.videoCodec,h=a&&2===parseInt(a),d=!1,c=!1,u=1/0,f=1/0,p=1/0,g=1/0,m=0,v=[],{preferHDR:y,allowedVideoRanges:b}=Ll(e,r);for(let e=n.length;e--;){let t=i[n[e]];d=d||00{let r=i[t];if(t===e)return e;if(v=c?b.filter(e=>0s)return kl(t,`min bitrate of ${r.minBitrate} > current estimate of `+s),e;if(!r.hasDefaultAudio)return kl(t,"no renditions with default or auto-select sound found"),e;if(o&&t.indexOf(o.substring(0,4))%5!=0)return kl(t,`audio codec preference "${o}" not found`),e;if(a&&!h){if(!r.channels[a])return kl(t,`no renditions with ${a} channel sound found (channels options: ${Object.keys(r.channels)})`),e}else if((!o||h)&&d&&0===r.channels[2])return kl(t,"no renditions with stereo sound found"),e;if(r.minHeight>E)return kl(t,`min resolution of ${r.minHeight} > maximum of `+E),e;if(r.minFramerate>T)return kl(t,`min framerate of ${r.minFramerate} > maximum of `+T),e;if(!v.some(e=>0=ul(e)||r.fragmentError>i[e].fragmentError)?e:(g=r.minIndex,m=r.maxScore,t)},void 0),videoRanges:v,preferHDR:y,minFramerate:f,minBitrate:p,minIndex:g}})(this.codecTiers||(this.codecTiers=(S=w,f.slice(e,s+1).reduce((e,t,i)=>{if(t.codecSet){var s=t.audioGroups;let r=e[t.codecSet];r||(e[t.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:i,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,t.bitrate);var n=Math.min(t.height,t.width);r.minHeight=Math.min(r.minHeight,n),r.minFramerate=Math.min(r.minFramerate,t.frameRate),r.minIndex=Math.min(r.minIndex,i),r.maxScore=Math.max(r.maxScore,t.score),r.fragmentError+=t.fragmentError,r.videoRanges[t.videoRange]=(r.videoRanges[t.videoRange]||0)+1,s&&s.forEach(e=>{if(e){let t=S.groups[e];t&&(r.hasDefaultAudio=r.hasDefaultAudio||S.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!S.hasDefaultAudio&&!S.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{r.channels[e]=(r.channels[e]||0)+t.channels[e]}))}})}return e},{}))),E,r,_,A),{codecSet:A,videoRanges:k,minFramerate:F,minBitrate:N,minIndex:U,preferHDR:B}=i;L=U,b=A,E=B?k[k.length-1]:k[0],T=F,r=Math.max(r,N),this.log("picked start tier "+$(i))}else b=null==m?void 0:m.codecSet,E=null==m?void 0:m.videoRange;var I=u?u.duration:t?t.duration:0,R=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let t=s;t>=e;t--){let i=f[t];var P,D=t>c;if(i)if(!g.useMediaCapabilities||i.supportedResult||i.supportedPromise||("function"==typeof(null==(P=navigator.mediaCapabilities)?void 0:P.decodingInfo)&&((e,i,t,r,s,n)=>{var a=e.videoCodec,o=e.audioCodec?e.audioGroups:null,l=null==n?void 0:n.audioCodec;let h=(n=null==n?void 0:n.channels)?parseInt(n):l?1/0:2,d=null;if(null!=o&&o.length)try{d=1===o.length&&o[0]?i.groups[o[0]].channels:o.reduce((r,e)=>{if(e){let t=i.groups[e];if(!t)throw new Error(`Audio track group ${e} not found`);Object.keys(t.channels).forEach(e=>{r[e]=(r[e]||0)+t.channels[e]})}return r},{2:0})}catch(e){return 1}return void 0!==a&&(a.split(",").some(e=>rl(e))||1920Math.max(r,30)||"SDR"!==e.videoRange&&e.videoRange!==t||e.bitrate>Math.max(s,8e6))||d&&j(h)&&Object.keys(d).some(e=>parseInt(e)>h)})(i,w,E,T,r,_)?(i.supportedPromise=bl(i,w,P,this.supportedCache),i.supportedPromise.then(e=>{var t,r;this.hls&&(i.supportedResult=e,r=(t=this.hls.levels).indexOf(i),e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${r} `+$(e)):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${r} not smooth or powerEfficient: `+$(e)):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${r} `+$(e)),-1{this.warn("Error handling MediaCapabilities decodingInfo: "+e)})):i.supportedResult=si),!(b&&i.codecSet!==b||E&&i.videoRange!==E||D&&T>i.frameRate||!D&&0!1===e.smooth))||y&&t===L){var x=i.details,O=(u?null==x?void 0:x.partTarget:null==x?void 0:x.averagetargetduration)||I;let e;e=D?l*r:o*r;var M,D=I&&2*I<=n&&0===a?i.averageBitrate:i.maxBitrate,x=this.getTimeToLoadFrag(R,e,D*O,void 0===x);if(e>=D&&(t===d||0===i.loadError&&0===i.fragmentError)&&(x<=R||!j(x)||v&&!this.bitrateTestDelay||x${t} adjustedbw(${Math.round(e)})-bitrate=${Math.round(e-D)} ttfb:${R.toFixed(1)} avgDuration:${O.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${x.toFixed(1)} firstSelection:${y} codecSet:${i.codecSet} videoRange:${i.videoRange} hls.loadLevel:`+p)),y&&(this.firstSelection=t),t}else C.push(t)}return-1}set nextAutoLevel(e){e=this.deriveNextAutoLevel(e);this._nextAutoLevel!==e&&(this.nextAutoLevelKey="",this._nextAutoLevel=e)}deriveNextAutoLevel(e){var{maxAutoLevel:t,minAutoLevel:r}=this.hls;return Math.min(Math.max(e,r),t)}}let li={search:function(e,t){let r=0,i=e.length-1;for(;r<=i;){var s,n,a=t(n=e[s=(r+i)/2|0]);if(0(t=1e3*Math.min(t,r.duration+(r.deltaPTS||0)),r=r.endProgramDateTime||0,e{if(t&&0===t.start&&t.level("INF"===t[0]&&(e+=parseFloat(t[1])),e),r),e.start<=t})(n,e,Math.min(s,i)))||!(a=li.search(t,Nl.bind(null,r,i)))||a===e&&n?n:a}function Nl(e=0,t=0,r){return r.start<=e&&r.start+r.duration>e?0:(t=Math.min(t,r.duration+(r.deltaPTS||0)),r.start+r.duration-t<=e?1:r.start-t>e&&r.start?-1:0)}function Ul(r,i,s){if(r&&r.startCC<=i&&r.endCC>=i){let e=r.fragments;r=r.fragmentHint;r&&(e=e.concat(r));let t;return li.search(e,e=>e.cc0<=t.indexOf(e.groupId)).some(e=>null==(e=e.details)?void 0:e.hasKey(r))}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){if(!t.fatal){var r=this.hls,i=t.context;switch(t.details){case q.FRAG_LOAD_ERROR:case q.FRAG_LOAD_TIMEOUT:case q.KEY_LOAD_ERROR:case q.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case q.FRAG_PARSING_ERROR:if(null!=(s=t.frag)&&s.gap)return void(t.errorAction=th());case q.FRAG_GAP:case q.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=Wl);case q.LEVEL_EMPTY_ERROR:case q.LEVEL_PARSING_ERROR:var s=t.parent===nn?t.level:r.loadLevel;return void(t.details===q.LEVEL_EMPTY_ERROR&&null!=(n=t.context)&&null!=(n=n.levelDetails)&&n.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,s)));case q.LEVEL_LOAD_ERROR:case q.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==i?void 0:i.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.level)));case q.AUDIO_TRACK_LOAD_ERROR:case q.AUDIO_TRACK_LOAD_TIMEOUT:case q.SUBTITLE_LOAD_ERROR:case q.SUBTITLE_TRACK_LOAD_TIMEOUT:if(i){var n=r.loadLevelObj;if(n&&(i.type===Eo&&n.hasAudioGroup(i.groupId)||i.type===To&&n.hasSubtitleGroup(i.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=Wl,void(t.errorAction.flags=Zl)}return;case q.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:return void(t.errorAction={action:Wl,flags:Jl});case q.KEY_SYSTEM_SESSION_UPDATE_FAILED:case q.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case q.KEY_SYSTEM_NO_SESSION:return void(t.errorAction={action:Wl,flags:eh});case q.BUFFER_ADD_CODEC_ERROR:case q.REMUX_ALLOC_ERROR:case q.BUFFER_APPEND_ERROR:return void(t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(s=t.level)?s:r.loadLevel)));case q.INTERNAL_EXCEPTION:case q.BUFFER_APPENDING_ERROR:case q.BUFFER_FULL_ERROR:case q.LEVEL_SWITCH_ERROR:case q.BUFFER_STALLED_ERROR:case q.BUFFER_SEEK_OVER_HOLE:case q.BUFFER_NUDGE_ON_STALL:return void(t.errorAction=th())}t.type===W.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=th())}}getPlaylistRetryOrSwitchAction(e,t){var r=Gl(this.hls.config.playlistLoadPolicy,e),i=this.playlistError++;return zl(r,i,Bl(e),e.response)?{action:Xl,flags:Ql,retryConfig:r,retryCount:i}:(e=this.getLevelSwitchAction(e,t),r&&(e.retryConfig=r,e.retryCount=i),e)}getFragRetryOrSwitchAction(e){var t=this.hls,r=this.getVariantLevelIndex(e.frag),i=t.levels[r],{fragLoadPolicy:s,keyLoadPolicy:n}=t.config,n=Gl($l(e)?n:s,e),s=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(i&&(e.details!==q.FRAG_GAP&&i.fragmentError++,!Vl(e)&&zl(n,s,Bl(e),e.response)))return{action:Xl,flags:Ql,retryConfig:n,retryCount:s};t=this.getLevelSwitchAction(e,r);return n&&(t.retryConfig=n,t.retryCount=s),t}getLevelSwitchAction(i,e){var t=this.hls;null==e&&(e=t.loadLevel);let s=this.hls.levels[e];if(s){var n=i.details;s.loadError++,n===q.BUFFER_APPEND_ERROR&&s.fragmentError++;let r=-1;var{levels:a,loadLevel:o,minAutoLevel:l,maxAutoLevel:h}=t,d=(t.autoLevelEnabled||t.config.preserveManualLevelOnError||(t.loadLevel=-1),null==(e=i.frag)?void 0:e.type),c=(d===So&&n===q.FRAG_PARSING_ERROR||"audio"===i.sourceBufferName&&(n===q.BUFFER_ADD_CODEC_ERROR||n===q.BUFFER_APPEND_ERROR))&&a.some(({audioCodec:e})=>s.audioCodec!==e),u="video"===i.sourceBufferName&&(n===q.BUFFER_ADD_CODEC_ERROR||n===q.BUFFER_APPEND_ERROR)&&a.some(({codecSet:e,audioCodec:t})=>s.codecSet!==e&&s.audioCodec===t),{type:f,groupId:p}=null!=(e=i.context)?e:{};for(let e=a.length;e--;){var g,m=(e+o)%a.length;if(m!==o&&l<=m&&m<=h&&0===a[m].loadError){let t=a[m];if(n===q.FRAG_GAP&&d===nn&&i.frag){var v=a[m].details;if(v){var v=Fl(i.frag,v.fragments,i.frag.start);if(null!=v&&v.gap)continue}}else{if(f===Eo&&t.hasAudioGroup(p)||f===To&&t.hasSubtitleGroup(p))continue;if(d===So&&null!=(v=s.audioGroups)&&v.some(e=>t.hasAudioGroup(e))||d===_o&&null!=(g=s.subtitleGroups)&&g.some(e=>t.hasSubtitleGroup(e))||c&&s.audioCodec===t.audioCodec||u&&s.codecSet===t.codecSet||!c&&s.codecSet!==t.codecSet)continue}r=m;break}}if(-1{let t=this.fragments[e];!t||a>=t.body.sn||(t.buffered||t.loaded&&!n?(e=t.range[r])&&(0===e.time.length?this.removeFragment(t.body):e.time.some(e=>{e=!this.isTimeBuffered(e.startPTS,e.endPTS,i);return e&&this.removeFragment(t.body),e})):t.body.type===s&&this.removeFragment(t.body))})}detectPartialFragments(a){let o=this.timeRanges;if(o&&"initSegment"!==a.frag.sn){let s=a.frag;var e=oh(s);let n=this.fragments[e];if(!(!n||n.buffered&&s.gap)){let i=!s.relurl;Object.keys(o).forEach(e=>{var t,r=s.elementaryStreams[e];r&&(t=o[e],r=i||!0===r.partial,n.range[e]=this.getBufferedTimes(s,a.part,r,t))}),n.loaded=null,Object.keys(n.range).length?(n.buffered=!0,(n.body.endList=s.endList||n.body.endList)&&(this.endListFragments[n.body.type]=n),ah(n)||this.removeParts(s.sn-1,s.type)):this.removeFragment(n.body)}}}removeParts(t,e){var r=this.activePartLists[e];r&&(this.activePartLists[e]=lh(r,e=>e.fragment.sn>=t))}fragBuffered(e,t){var r=oh(e);let i=this.fragments[r];!i&&t&&(i=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap)&&(this.hasGaps=!0),i&&(i.loaded=null,i.buffered=!0)}getBufferedTimes(e,t,r,i){var s={time:[],partial:r},n=e.start,a=e.end,o=e.minEndPTS||a,l=e.maxStartPTS||n;for(let e=0;e{e=l[e];e&&ah(e)&&(s=e.body.start-o,n=e.body.end+o,t>=s)&&t<=n&&(i=Math.min(t-s,n-t),a<=i)&&(r=e.body,a=i)}),r}isEndListAppended(e){e=this.endListFragments[e];return void 0!==e&&(e.buffered||ah(e))}getState(e){e=oh(e),e=this.fragments[e];return e?e.buffered?ah(e)?sh:nh:ih:rh}isTimeBuffered(t,r,i){var s,n;for(let e=0;e{var t,e=this.fragments[e];!e||(t=e.body).type!==s||n&&!t.gap||t.startr&&(e.buffered||a)&&this.removeFragment(t)})}removeFragment(e){var t=oh(e),r=(e.clearElementaryStreamInfo(),this.activePartLists[e.type]);if(r){let t=e.sn;this.activePartLists[e.type]=lh(r,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;var e=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;e&&e.forEach(e=>e.clearElementaryStreamInfo())}}function ah(e){var t;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(t=e.range.audio)&&t.partial||null!=(t=e.range.audiovideo)&&t.partial)}function oh(e){return e.type+`_${e.level}_`+e.sn}function lh(e,r){return e.filter(e=>{var t=r(e);return t||e.clearElementaryStreamInfo(),t})}var hh=0,dh=1;class Qf{constructor(e,t,r){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=r}decrypt(e,t){switch(this.aesMode){case hh:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case dh:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error("[AESCrypto] invalid aes mode "+this.aesMode)}}}class Zf{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){var t=new DataView(e),r=new Uint32Array(4);for(let e=0;e<4;e++)r[e]=t.getUint32(4*e);return r}initTable(){var e=this.sBox,t=this.invSBox,r=this.subMix,i=r[0],s=r[1],n=r[2],a=r[3],r=this.invSubMix,o=r[0],l=r[1],h=r[2],d=r[3],c=new Uint32Array(256);let u=0,f=0,p=0;for(p=0;p<256;p++)p<128?c[p]=p<<1:c[p]=p<<1^283;for(p=0;p<256;p++){var g=(g=f^f<<1^f<<2^f<<3^f<<4)>>>8^255&g^99,m=c[t[e[u]=g]=u],v=c[m],y=c[v],b=257*c[g]^16843008*g;i[u]=b<<24|b>>>8,s[u]=b<<16|b>>>16,n[u]=b<<8|b>>>24,a[u]=b,b=16843009*y^65537*v^257*m^16843008*u,o[g]=b<<24|b>>>8,l[g]=b<<16|b>>>16,h[g]=b<<8|b>>>24,d[g]=b,u?(u=m^c[c[c[y^m]]],f^=c[c[f]]):u=f=1}}expandKey(s){var n=this.uint8ArrayToUint32Array_(s);let e=!0,t=0;for(;t{var r=ArrayBuffer.isView(i)?i:new Uint8Array(i),r=(this.softwareDecrypt(r,s,n,a),this.flush());r?e(r.buffer):t(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(i),s,n,a)}softwareDecrypt(e,t,r,i){var{currentIV:s,currentResult:n,remainderData:a}=this;if(i!==hh||16!==t.byteLength)return H.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),a&&(e=el(a,e),this.remainderData=null);i=this.getValidChunk(e);if(!i.length)return null;s&&(r=s);let o=this.softwareDecrypter;(o=o||(this.softwareDecrypter=new Zf)).expandKey(t);a=n;return this.currentResult=o.decrypt(i.buffer,0,r),this.currentIV=i.slice(-16).buffer,a||null}webCryptoDecrypt(t,r,i,s){if(this.key!==r||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(t,r,i,s));this.key=r,this.fastAesKey=new Jf(this.subtle,r,s)}return this.fastAesKey.expandKey().then(e=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Qf(this.subtle,new Uint8Array(i),s).decrypt(t.buffer,e)):Promise.reject(new Error("web crypto not initialized"))).catch(e=>(H.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${e.name}: `+e.message),this.onWebCryptoError(t,r,i,s)))}onWebCryptoError(e,t,r,i){var s=this.enableSoftwareAES;if(s){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r,i);e=this.flush();if(e)return e.buffer}throw new Error("WebCrypto"+(s?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e;var r=e.length-e.length%16;return r!==e.length&&(t=e.slice(0,r),this.remainderData=e.slice(r)),t}logOnce(e){this.logEnabled&&(H.log("[decrypter]: "+e),this.logEnabled=!1)}}let hi=Math.pow(2,17);class tp{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(o,l){let h=o.url;if(!h)return Promise.reject(new rp({type:W.NETWORK_ERROR,details:q.FRAG_LOAD_ERROR,fatal:!1,frag:o,error:new Error("Fragment does not have a "+(h?"part list":"url")),networkDetails:null}));this.abort();let r=this.config,d=r.fLoader,c=r.loader;return new Promise((n,s)=>{if(this.loader&&this.loader.destroy(),o.gap){if(o.tagList.some(e=>"GAP"===e[0]))return void s(uh(o));o.gap=!1}let a=this.loader=new(d||c)(r);var e=ch(o),t=(o.loader=a,Hl(r.fragLoadPolicy.default));let i={loadPolicy:t,timeout:t.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===o.sn?1/0:hi};o.stats=a.stats;t={onSuccess:(e,t,r,i)=>{this.resetLoader(o,a);let s=e.data;r.resetIV&&o.decryptdata&&(o.decryptdata.iv=new Uint8Array(s.slice(0,16)),s=s.slice(16)),n({frag:o,part:null,payload:s,networkDetails:i})},onError:(e,t,r,i)=>{this.resetLoader(o,a),s(new rp({type:W.NETWORK_ERROR,details:q.FRAG_LOAD_ERROR,fatal:!1,frag:o,response:on({url:h,data:void 0},e),error:new Error(`HTTP Error ${e.code} `+e.text),networkDetails:r,stats:i}))},onAbort:(e,t,r)=>{this.resetLoader(o,a),s(new rp({type:W.NETWORK_ERROR,details:q.INTERNAL_ABORTED,fatal:!1,frag:o,error:new Error("Aborted"),networkDetails:r,stats:e}))},onTimeout:(e,t,r)=>{this.resetLoader(o,a),s(new rp({type:W.NETWORK_ERROR,details:q.FRAG_LOAD_TIMEOUT,fatal:!1,frag:o,error:new Error(`Timeout after ${i.timeout}ms`),networkDetails:r,stats:e}))}};l&&(t.onProgress=(e,t,r,i)=>l({frag:o,part:null,payload:r,networkDetails:i})),a.load(e,i,t)})}loadPart(l,h,d){this.abort();let t=this.config,r=t.fLoader,c=t.loader;return new Promise((a,o)=>{if(this.loader&&this.loader.destroy(),l.gap||h.gap)o(uh(l,h));else{let s=this.loader=new(r||c)(t),n=ch(l,h);l.loader=s;var e=Hl(t.fragLoadPolicy.default);let i={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:hi};h.stats=s.stats,s.load(n,i,{onSuccess:(e,t,r,i)=>{this.resetLoader(l,s),this.updateStatsFromPart(l,h);e={frag:l,part:h,payload:e.data,networkDetails:i};d(e),a(e)},onError:(e,t,r,i)=>{this.resetLoader(l,s),o(new rp({type:W.NETWORK_ERROR,details:q.FRAG_LOAD_ERROR,fatal:!1,frag:l,part:h,response:on({url:n.url,data:void 0},e),error:new Error(`HTTP Error ${e.code} `+e.text),networkDetails:r,stats:i}))},onAbort:(e,t,r)=>{l.stats.aborted=h.stats.aborted,this.resetLoader(l,s),o(new rp({type:W.NETWORK_ERROR,details:q.INTERNAL_ABORTED,fatal:!1,frag:l,part:h,error:new Error("Aborted"),networkDetails:r,stats:e}))},onTimeout:(e,t,r)=>{this.resetLoader(l,s),o(new rp({type:W.NETWORK_ERROR,details:q.FRAG_LOAD_TIMEOUT,fatal:!1,frag:l,part:h,error:new Error(`Timeout after ${i.timeout}ms`),networkDetails:r,stats:e}))}})}})}updateStatsFromPart(e,t){var r=e.stats,i=t.stats,s=i.total,e=(r.loaded+=i.loaded,s?(s=((e=Math.round(e.duration/t.duration))-(t=Math.min(Math.round(r.loaded/s),e)))*Math.round(r.loaded/t),r.total=r.loaded+s):r.total=Math.max(r.loaded,r.total),r.loading),t=i.loading;e.start?e.first+=t.first-t.start:(e.start=t.start,e.first=t.first),e.end=t.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function ch(r,i=null){var s=i||r,i={frag:r,part:i,responseType:"arraybuffer",url:s.url,headers:{},rangeStart:0,rangeEnd:0},n=s.byteRangeStartOffset,s=s.byteRangeEndOffset;if(j(n)&&j(s)){let e=n,t=s;"initSegment"!==r.sn||"AES-128"!==(r=null==(r=r.decryptdata)?void 0:r.method)&&"AES-256"!==r||((r=s-n)%16&&(t=s+(16-r%16)),0!==n&&(i.resetIV=!0,e=n-16)),i.rangeStart=e,i.rangeEnd=t}return i}function uh(e,t){var r=new Error(`GAP ${e.gap?"tag":"attribute"} found`),r={type:W.MEDIA_ERROR,details:q.FRAG_GAP,fatal:!1,frag:e,error:r,networkDetails:null};return t&&(r.part=t),(t||e).stats.aborted=!0,new rp(r)}class rp extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class ip extends Vf{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!(!this._tickInterval||(self.clearInterval(this._tickInterval),this._tickInterval=null))}clearNextTick(){return!(!this._tickTimer||(self.clearTimeout(this._tickTimer),this._tickTimer=null))}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),10,end:()=>0};class Tn{static isBuffered(e,t){if(e){var r=Tn.getBuffered(e);for(let e=r.length;e--;)if(t>=r.start(e)&&t<=r.end(e))return!0}return!1}static bufferedRanges(e){return e?(e=Tn.getBuffered(e),Tn.timeRangesToArray(e)):[]}static timeRangesToArray(t){var r=[];for(let e=0;ee.start-t.start||t.end-e.end);let s=-1,n=[];if(i)for(let e=0;e=t[e].start&&r<=t[e].end&&(s=e);var a,o=n.length;o&&(a=n[o-1].end,t[e].start-aa&&(n[o-1].end=t[e].end):n.push(t[e])}else n=t;let l=0,h,d=r,c=r;for(let e=0;e{var t=e.substring(2,e.length-1),r=null==i?void 0:i[t];return void 0===r?(s.playlistParsingError||(s.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${t}"`)),e):r})}return e}function mh(t,e,r){let i=t.variableList;i||(t.variableList=i={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{var a=new self.URL(r).searchParams;if(!a.has(s))throw new Error(`"${s}" does not match any query parameter in URI: "${r}"`);n=a.get(s)}catch(e){t.playlistParsingError||(t.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+e.message))}}else s=e.NAME,n=e.VALUE;s in i?t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):i[s]=n||""}let ui=/^(\d+)x(\d+)$/,fi=/(.+?)=(".*?"|.*?)(?:,|$)/g;class Sn{constructor(e,t){an(this,e="string"==typeof e?Sn.parseAttrList(e,t):e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}decimalInteger(e){e=parseInt(this[e],10);return e>Number.MAX_SAFE_INTEGER?1/0:e}hexadecimalInteger(e){if(this[e]){var t=(1&(t=(this[e]||"0x").slice(2)).length?"0":"")+t,r=new Uint8Array(t.length/2);for(let e=0;eNumber.MAX_SAFE_INTEGER?1/0:e}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){e=this[e];return e?parseFloat(e):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){e=this[e];return(e?e.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){e=ui.exec(this[e]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}static parseAttrList(r,i){var s={};for(fi.lastIndex=0;null!==(a=fi.exec(r));){var n=a[1].trim();let e=a[2];var a=0===e.indexOf('"')&&e.lastIndexOf('"')===e.length-1;let t=!1;if(a)e=e.slice(1,-1);else switch(n){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":t=!0}if(i&&(a||t))e=gh(i,e);else if(!t&&!a)switch(n){case"CLOSED-CAPTIONS":if("NONE"===e)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":H.warn(r+`: attribute ${n} is missing quotes`)}s[n]=e}return s}}class np{constructor(e,t,r=0){var i;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(i=null==t?void 0:t.tagOrder)?i:r,t){var s,n=t.attr;for(s in n)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==n[s]){H.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=an(new Sn({}),n,e)}this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr&&(i=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]),j(i.getTime()))&&(this._endDate=i)}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){var e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){var e=this.tagAnchor;return null===e||null===e.programDateTime?(H.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": `+e),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){var e=this._endDate||this._dateAtEnd;return e||(null!==(e=this.duration)?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*e):null)}get duration(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(j(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&j(this.startDate.getTime())&&(null===this.duration||0<=this.duration)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class ap{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){var t,r;e?(t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex,this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||0{let t=e.decryptdata;return t||(e.setKeyFormat(r.keyFormat),t=e.decryptdata),!!t&&r.matches(t)})}get hasProgramDateTime(){return!!this.fragments.length&&j(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){var e=this.driftEndTime-this.driftStartTime;return 0r)return t[e].index;return r}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){var e;return!!(this.live&&this.age&&this.misses<3)&&(e=this.partEnd-this.fragmentStart,this.age>Math.max(e,this.totalduration)+this.levelTargetDuration)}}function vh(e,r){return e.length===r.length&&!e.some((e,t)=>e!==r[t])}function yh(e,t){return!e&&!t||!(!e||!t)&&vh(e,t)}function bh(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function Eh(e){switch(e){case"AES-128":case"AES-256":return hh;case"AES-256-CTR":return dh;default:throw new Error("invalid full segment method "+e)}}function Th(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function Sh(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function _h(e){function t(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function Ah(e){var t,r,e=e.split(":");let i=null;return"data"===e[0]&&2===e.length&&2===(t=(e=e[1].split(";"))[e.length-1].split(",")).length&&(r="base64"===t[0],t=t[1],i=r?(e.splice(-1,1),Th(t)):(r=Sh(r=t).subarray(0,16),(e=new Uint8Array(16)).set(r,16-r.length),e)),i}let pi="undefined"!=typeof self?self:void 0;var un={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},wh="org.w3.clearkey",Lh="com.apple.streamingkeydelivery",kh="com.microsoft.playready",Ih="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Rh(e){switch(e){case Lh:return un.FAIRPLAY;case kh:return un.PLAYREADY;case Ih:return un.WIDEVINE;case wh:return un.CLEARKEY}}function Ch(e){switch(e){case un.FAIRPLAY:return Lh;case un.PLAYREADY:return kh;case un.WIDEVINE:return Ih;case un.CLEARKEY:return wh}}function Ph(e){let{drmSystems:t,widevineLicenseUrl:r}=e;e=t?[un.FAIRPLAY,un.WIDEVINE,un.PLAYREADY,un.CLEARKEY].filter(e=>!!t[e]):[];return!e[un.WIDEVINE]&&r&&e.push(un.WIDEVINE),e}let gi=null!=pi&&null!=(Hs=pi.navigator)&&Hs.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Dh(e){e=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),e=String.fromCharCode.apply(null,Array.from(e)),e=e.substring(e.indexOf("<"),e.length),e=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("KID")[0];if(e){var e=e.childNodes[0]?e.childNodes[0].nodeValue:e.getAttribute("VALUE");if(e)return _h(e=Th(e).subarray(0,16)),e}return null}let mi={};class op{static clearKeyUriToKeyIdMap(){mi={}}static setKeyIdForUri(e,t){mi[e]=t}constructor(e,t,r,i=[1],s=null,n){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=i,this.iv=s,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!bh(e),null!=n&&n.startsWith("0x")&&(this.keyId=new Uint8Array(Do(n)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&vh(e.keyFormatVersions,this.keyFormatVersions)&&yh(e.iv,this.iv)&&yh(e.keyId,this.keyId)}isSupported(){if(this.method){if(bh(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case Lh:case Ih:case kh:case wh:return-1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(t,r){if(!this.encrypted||!this.uri)return null;if(bh(this.method)){let e=this.iv;return e||("number"!=typeof t&&(H.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),t=0),e=(t=>{var r=new Uint8Array(16);for(let e=12;e<16;e++)r[e]=t>>8*(15-e)&255;return r})(t)),new op(this.method,this.uri,"identity",this.keyFormatVersions,e)}if(this.keyId){t=mi[this.uri];if(t&&!vh(this.keyId,t)&&op.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}var i,s=Ah(this.uri);if(s)switch(this.keyFormat){case Ih:this.pssh=s,this.keyId||(i=al(s.buffer)).length&&(i=i[0],this.keyId=null!=(e=i.kids)&&e.length?i.kids[0]:null),this.keyId||(this.keyId=xh(r));break;case kh:var e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=nl(e,0,s),this.keyId=Dh(s);break;default:{let e=s.subarray(0,16);16!==e.length&&((i=new Uint8Array(16)).set(e,16-e.length),e=i),this.keyId=e;break}}if(!this.keyId||16!==this.keyId.byteLength){let e;(e=(e=(e=(e=>(e=null==e?void 0:e[Ih])?e.keyId:null)(r))||xh(r))||mi[this.uri])&&(this.keyId=e,op.setKeyIdForUri(this.uri,e))}return this}}function xh(e){e=null==e?void 0:e[kh];if(e){e=Ah(e.uri);if(e)return Dh(e)}return null}let vi=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,yi=/#EXT-X-MEDIA:(.*)/g,bi=/^#EXT(?:INF|-X-TARGETDURATION):/m,Ei=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),Ti=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class lp{static findGroup(t,r){for(let e=0;e({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:s.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]};let a=0;for(yi.lastIndex=0;null!==(p=yi.exec(e));){var o,l,h,d,c,u,f,p=new Sn(p[1],r),g=p.TYPE;g&&(o=n[g],l=i[g]||[],i[g]=l,f=p.LANGUAGE,h=p["ASSOC-LANGUAGE"],d=p.CHANNELS,c=p.CHARACTERISTICS,u=p["INSTREAM-ID"],g={attrs:p,bitrate:0,id:a++,groupId:p["GROUP-ID"]||"",name:p.NAME||f||"",type:g,default:p.bool("DEFAULT"),autoselect:p.bool("AUTOSELECT"),forced:p.bool("FORCED"),lang:f,url:p.URI?lp.resolve(p.URI,t):""},h&&(g.assocLang=h),d&&(g.channels=d),c&&(g.characteristics=c),u&&(g.instreamId=u),null!=o&&o.length&&(Uh(g,f=lp.findGroup(o,g.groupId)||o[0],"audioCodec"),Uh(g,f,"textCodec")),l.push(g))}return i}static parseLevelPlaylist(e,t,r,i,F,N){var s={url:t},n=new ap(t),a=n.fragments,o=[];let l=null,h=0,d=0,c=0,u=0,f=0,p=null,g=new Hf(i,s),m,v,y,b=-1,E=!1,T=null,S;if(Ei.lastIndex=0,n.m3u8=e,n.hasVariableRefs=ph(e),"#EXTM3U"!==(null==(M=Ei.exec(e))?void 0:M[0]))n.playlistParsingError=new Error("Missing format identifier #EXTM3U");else{for(;null!==(m=Ei.exec(e));){E&&(E=!1,(g=new Hf(i,s)).playlistOffset=c,g.setStart(c),g.sn=h,g.cc=u,f&&(g.bitrate=f),g.level=r,l)&&((g.initSegment=l).rawProgramDateTime&&(g.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null),T)&&(g.setByteRange(T),T=null);var _=m[1];if(_){g.duration=parseFloat(_);var A=(" "+m[2]).slice(1);g.title=A||null,g.tagList.push(A?["INF",_,A]:["INF",_])}else if(m[3])j(g.duration)&&(g.playlistOffset=c,g.setStart(c),y&&Vh(g,y,n),g.sn=h,g.level=r,g.cc=u,a.push(g),A=(" "+m[3]).slice(1),g.relurl=gh(n,A),Bh(g,p,o),p=g,c+=g.duration,h++,d=0,E=!0);else if(m=m[0].match(Ti)){for(v=1;v{let i=t[r];for(let e=r;e--;){var s=t[e];if(!s)return;s.programDateTime=i.programDateTime-1e3*s.duration,i=s}})(a,b),V)&&o.unshift(V),n.fragmentHint&&(c+=n.fragmentHint.duration),n.totalduration=c,o.length&&n.dateRangeTagCount&&V&&Oh(o,n),n.endCC=u}return n}}function Oh(t,r){let i=t.length;if(!i){if(!r.hasProgramDateTime)return;var e=r.fragments[r.fragments.length-1];t.push(e),i++}var s=t[i-1],n=r.live?1/0:r.totalduration,a=Object.keys(r.dateRanges);for(let e=a.length;e--;){var o=r.dateRanges[a[e]],l=o.startDate.getTime();o.tagAnchor=s.ref;for(let e=i;e--;){if((null==(h=t[e])?void 0:h.sn){var n=i[s];if(n){var a=n.programDateTime;if(a<=r||0===s){var o=((null==(o=i[s+1])?void 0:o.start)||e)-n.start;if(r<=a+1e3*o){var l=i[s].sn-t.startSN;if(l<0)return-1;var h=t.fragments;if(h.length>i.length)for(let e=(i[s+1]||h[h.length-1]).sn-t.startSN;e>l;e--){var d=h[e].programDateTime;if(d<=r&&re);["video","audio","text"].forEach(t=>{let r=s.filter(e=>ol(e,t));r.length&&(i[t+"Codec"]=r.map(e=>e.split("/")[0]).join(","),s=s.filter(e=>-1===r.indexOf(e)))}),i.unknownCodecs=s}function Uh(e,t,r){t=t[r];t&&(e[r]=t)}function Bh(e,t,r){e.rawProgramDateTime?r.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function $h(e,t,r,i){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=r,e.sn="initSegment",i&&(e.levelkeys=i),e.initSegment=null}function Vh(e,t,r){e.levelkeys=t;r=r.encryptedFragments;r.length&&r[r.length-1].levelkeys===t||!Object.keys(t).some(e=>t[e].isCommonEncryption)||r.push(e)}function Gh(e,t,r){e.playlistParsingError=new Error(`#EXT-X-${t} must not appear more than once (${r[0]})`)}function jh(e,t,r){e.playlistParsingError=new Error(`#EXT-X-${t} must appear before the first Media Segment (${r[0]})`)}function Hh(r,i){var s=i.startPTS;if(j(s)){let e=0,t;(t=i.sn>r.sn?(e=s-r.start,r):(e=r.start-s,i)).duration!==e&&t.setDuration(e)}else i.sn>r.sn?r.cc===i.cc&&r.minEndPTS?i.setStart(r.start+(r.minEndPTS-r.start)):i.setStart(r.start+r.duration):i.setStart(Math.max(r.start-i.duration,0))}function zh(e,t,r,i,s,n,a){i-r<=0&&(a.warn("Fragment should have a positive duration",t),i=r+t.duration,n=s+t.duration);let o=r,l=i;var h=t.startPTS,d=t.endPTS,a=(j(h)&&(c=Math.abs(h-r),e&&c>e.totalduration?a.warn(`media timestamps and playlist times differ by ${c}s for level ${t.level} `+e.url):j(t.deltaPTS)?t.deltaPTS=Math.max(c,t.deltaPTS):t.deltaPTS=c,o=Math.max(r,h),r=Math.min(r,h),s=void 0!==t.startDTS?Math.min(s,t.startDTS):s,l=Math.min(i,d),i=Math.max(i,d),n=void 0!==t.endDTS?Math.max(n,t.endDTS):n),r-t.start),c=(0!==t.start&&t.setStart(r),t.setDuration(i-t.start),t.startPTS=r,t.maxStartPTS=o,t.startDTS=s,t.endPTS=i,t.minEndPTS=l,t.endDTS=n,t.sn);if(!e||ce.endSN)return 0;let u;var h=c-e.startSN,f=e.fragments;for(f[h]=t,u=h;0{var n=i.skippedSegments,e=Math.max(r.startSN,i.startSN)-i.startSN,a=(r.fragmentHint?1:0)+(n?i.endSN:Math.min(r.endSN,i.endSN))-i.startSN,o=i.startSN-r.startSN,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments,h=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments;for(let t=e;t<=a;t++){var d=h[o+t];let e=l[t];if(n&&!e&&d&&(e=i.fragments[t]=d),d&&e){s(d,e,t,l);var c=d.relurl,u=e.relurl;if(c&&((e,t)=>e!==t&&t&&td(e)!==td(t))(c,u))return i.playlistParsingError=Yh(`media sequence mismatch ${e.sn}:`,r,i,0,e);if(d.cc!==e.cc)return i.playlistParsingError=Yh(`discontinuity sequence mismatch (${d.cc}!=${e.cc})`,r,i,0,e)}}})(e,o,(e,t,r,i)=>{if((!o.startCC||o.skippedSegments)&&t.cc!==e.cc){var s=e.cc-t.cc;for(let e=r;e{var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=n)?void 0:t.relurl)||(e.initSegment=n)}),o.skippedSegments){if(o.deltaUpdateFailed=s.some(e=>!e),o.deltaUpdateFailed){t.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=o.skippedSegments;e--;)s.shift();o.startSN=s[0].sn}else{o.canSkipDateRanges&&(o.dateRanges=((e,t,i)=>{let{dateRanges:s,recentlyRemovedDateranges:r}=t,n=an({},e),a=(r&&r.forEach(e=>{delete n[e]}),Object.keys(n)),o=a.length;return o?(Object.keys(s).forEach(e=>{var t=n[e],r=new np(s[e].attr,t);r.isValid?(n[e]=r,t||(r.tagOrder+=o)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${$(s[e].attr)}"`)}),n):s})(e.dateRanges,o,t));var h=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!o.hasProgramDateTime)for(let e=1;e{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats};if(d&&c){let r=0;for(let e=0,t=d.length;e<=t;e++){var f=d[e],p=c[e+r];f&&p&&f.index===p.index&&f.fragment.sn===p.fragment.sn?u(f,p):r--}}a?zh(o,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS,t):Wh(e,o),s.length&&(o.totalduration=o.edge-s[0].start),o.driftStartTime=e.driftStartTime,o.driftStart=e.driftStart;var g=o.advancedDateTime;o.advanced&&g?(t=o.edge,o.driftStart||(o.driftStartTime=g,o.driftStart=t),o.driftEndTime=g,o.driftEnd=t):(o.driftEndTime=e.driftEndTime,o.driftEnd=e.driftEnd,o.advancedDateTime=e.advancedDateTime),-1===o.requestScheduled&&(o.requestScheduled=e.requestScheduled)}}function Yh(e,t,r,i,s){return new Error(`${e} ${s.url} Playlist starting @${t.startSN} ${t.m3u8} Playlist starting @${r.startSN} `+r.m3u8)}function Wh(e,t,r=!0){var i=t.startSN+t.skippedSegments-e.startSN,s=e.fragments,n=0<=i;let a=0;if(n&&it&&(t=1e3*e[e.length-1].duration){null!=(e=e.details)&&e.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function td(e){return e.replace(/\?[^?]*$/,"")}function rd(r,i){for(let e=0,t=r.length;ei.startCC&&(r=Math.min(t.endCC,e.endCC),i=rd(t.fragments,r),t=rd(e.fragments,r),i)&&t&&(H.log("Aligning playlist at start of dicontinuity sequence "+r),sd(i.start-t.start,e))}function ad(r,i){if(r.hasProgramDateTime&&i.hasProgramDateTime){var s=r.fragments,n=i.fragments;if(s.length&&n.length){let e,t;var a=Math.min(i.endCC,r.endCC),i=(i.startCC{var{config:e,fragCurrent:t,media:r,mediaBuffer:i,state:s}=this,n=r?r.currentTime:0,i=Tn.bufferInfo(i||r,n,e.maxBufferHole),a=!i.len;this.log(`Media seeking to ${j(n)?n.toFixed(3):n}, state: ${s}, ${a?"out of":"in"} buffer`),this.state===E.ENDED?this.resetLoadingState():t&&(s=e.maxFragLookUpTolerance,e=t.start-s,s=t.start+t.duration+s,a||si.end)&&(s=s{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=s,this.hls=e,this.fragmentLoader=new tp(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new ep(e.config)}registerListeners(){var e=this.hls;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){var e;this.state!==E.STOPPED&&(this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType),null!=(e=this.fragCurrent)&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=E.STOPPED)}get startPositionValue(){var{nextLoadPosition:e,startPosition:t}=this;return-1===t&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){var r,i;return!(t.live||!this.media||(e.end||0)<=(r=this.config.timelineOffset||0)||(i=e.buffered,(i=(e=this.config.maxBufferHole&&i&&1{var t=e.frag;this.fragContextChanged(t)?(this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t)):(t.stats.chunkCount++,this._handleFragmentLoadProgress(e))}).then(e=>{var t,r;e&&(t=this.state,r=e.frag,this.fragContextChanged(r)?t!==E.FRAG_LOADING&&(this.fragCurrent||t!==E.PARSING)||(this.fragmentTracker.removeFragment(r),this.state=E.IDLE):("payload"in e&&(this.log(`Loaded ${r.type} sn: ${r.sn} of ${this.playlistLabel()} `+r.level),this.hls.trigger(X.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)))}).catch(e=>{this.state!==E.STOPPED&&this.state!==E.ERROR&&(this.warn("Frag error: "+((null==e?void 0:e.message)||e)),this.resetFragmentLoading(t))})}clearTrackerIfNeeded(e){var t,r,i=this.fragmentTracker;i.getState(e)===ih?(t=e.type,t=this.getFwdBufferInfo(this.mediaBuffer,t),t=Math.max(e.duration,t?t.len:this.config.maxBufferLength),1!=((r=this.backtrackFragment)?e.sn-r.sn:0)&&!this.reduceMaxBufferLength(t,e.duration)||i.removeFragment(e)):0===(null==(r=this.mediaBuffer)?void 0:r.buffered.length)?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===sh)&&i.removeFragment(e)}checkLiveUpdate(e){var t;e.updated&&!e.live&&(t=e.fragments[e.fragments.length-1],this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})),e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){var t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,r=null){e-t&&(e={startOffset:e,endOffset:t,type:r},this.hls.trigger(X.BUFFER_FLUSHING,e))}_loadInitSegment(t,e){this._doFragLoad(t,e).then(e=>{var t=null==e?void 0:e.frag;if(t&&!this.fragContextChanged(t)&&this.levels)return e;throw new Error("init load aborted")}).then(i=>{let s=this.hls,{frag:n,payload:e}=i;var t=n.decryptdata;if(e&&0{throw s.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:n}),e}).then(e=>{var t=self.performance.now();return s.trigger(X.FRAG_DECRYPTED,{frag:n,payload:e,stats:{tstart:r,tdecrypt:t}}),i.payload=e,this.completeInitSegmentLoad(i)})}return this.completeInitSegmentLoad(i)}).catch(e=>{this.state!==E.STOPPED&&this.state!==E.ERROR&&(this.warn(e),this.resetFragmentLoading(t))})}completeInitSegmentLoad(e){var t=this.levels;if(!t)throw new Error("init load aborted, missing levels");t=e.frag.stats;this.state!==E.STOPPED&&(this.state=E.IDLE),e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var r,e=e.tracks;return!(!e||t.encrypted||!(null!=(r=e.audio)&&r.encrypted||null!=(r=e.video)&&r.encrypted)||this.config.emeEnabled&&this.keyLoader.emeController||(e=this.media,r=new Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`),this.warn(r.message),!e)||e.mediaKeys||(this.hls.trigger(X.ERROR,{type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_NO_KEYS,fatal:!1,error:r,frag:t}),this.resetTransmuxer(),0))}fragContextChanged(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r=this.mediaBuffer||this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${r?Si.toString(Tn.getBuffered(r)):"(detached)"})`),ln(e)){if(e.type!==_o){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e]))return void(this.state=E.IDLE)}r=null==(t=this.levels)?void 0:t[e.level];null!=r&&r.fragmentError&&(this.log(`Resetting level fragment error count of ${r.fragmentError} on frag buffered`),r.fragmentError=0)}this.state=E.IDLE}_handleFragmentLoadComplete(e){var t,r,i=this.transmuxer;i&&({frag:e,part:t,partsLoaded:r}=e,r=!r||0===r.length||r.some(e=>!e),e=new sp(e.level,e.sn,e.stats.chunkCount+1,0,t?t.index:-1,!r),i.flush(e))}_handleFragmentLoadProgress(e){}_doFragLoad(r,i,s=null,n){this.fragCurrent=r;var a=i.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(!r.encrypted||null!=(l=r.decryptdata)&&l.key)r.encrypted||(o=this.keyLoader.loadClear(r,a.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");else if(this.log(`Loading key for ${r.sn} of [${a.startSN}-${a.endSN}], ${this.playlistLabel()} `+r.level),this.state=E.KEY_LOADING,this.fragCurrent=r,o=this.keyLoader.load(r).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(X.KEY_LOADED,e),this.state===E.KEY_LOADING&&(this.state=E.IDLE),e}),this.hls.trigger(X.KEY_LOADING,{frag:r}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null);var l=this.fragPrevious;if(!ln(r)||l&&r.sn===l.sn||(h=this.shouldLoadParts(i.details,r.end))!==this.loadingParts&&(this.log(`LL-Part loading ${h?"ON":"OFF"} loading sn ${null==l?void 0:l.sn}->`+r.sn),this.loadingParts=h),s=Math.max(r.start,s||0),this.loadingParts&&ln(r)){l=a.partList;if(l&&n){s>a.fragmentEnd&&a.fragmentHint&&(r=a.fragmentHint);var h=this.getNextPart(l,r,s);if(-1!e||this.fragContextChanged(e.frag)?null:this.doFragPartsLoad(r,t,i,n)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(r,t,i,n).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:r,part:t,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):e}if(!r.url||this.loadedEndOfParts(l,s))return Promise.resolve(null)}}if(ln(r)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${s.toFixed(2)} Check buffer at sn: ${r.sn} loaded parts: `+(null==(h=a.partList)?void 0:h.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`))),this.loadingParts=!1;else if(!r.url)return Promise.resolve(null);this.log(`Loading ${r.type} sn: ${r.sn} of ${this.fragInfo(r,!1)}) cc: ${r.cc} ${"["+a.startSN+"-"+a.endSN+"]"}, target: `+parseFloat(s.toFixed(3))),j(r.sn)&&!this.bitrateTest&&(this.nextLoadPosition=r.start+r.duration),this.state=E.FRAG_LOADING;let t=this.config.progressive,e;return e=t&&o?o.then(e=>!e||this.fragContextChanged(e.frag)?null:this.fragmentLoader.load(r,n)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(r,t?n:void 0),o]).then(([e])=>(!t&&n&&n(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:r,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):e}doFragPartsLoad(o,r,l,h){return new Promise((i,e)=>{let t,s=[],n=null==(t=l.details)?void 0:t.partList,a=r=>{this.fragmentLoader.loadPart(o,r,h).then(e=>{var t=(s[r.index]=e).part,e=(this.hls.trigger(X.FRAG_LOADED,e),Zh(l.details,o.sn,r.index+1)||Jh(n,o.sn,r.index+1));if(!e)return i({frag:o,part:t,partsLoaded:s});a(e)}).catch(e)};a(r)})}handleFragLoadError(e){var t;return"data"in e?(t=e.data).frag&&t.details===q.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===W.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(X.ERROR,t):this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0}),null}_handleTransmuxerFlush(e){var t,r,i,s=this.getCurrentContext(e);s&&this.state===E.PARSING?({frag:s,part:t,level:r}=s,i=self.performance.now(),s.stats.parsing.end=i,t&&(t.stats.parsing.end=i),(i=(i=this.getLevelDetails())&&s.sn>i.endSN||this.shouldLoadParts(i,s.end))!==this.loadingParts&&(this.log(`LL-Part loading ${i?"ON":"OFF"} after parsing segment ending @`+s.end.toFixed(2)),this.loadingParts=i),this.updateLevelTiming(s,t,r,e.partial)):this.fragCurrent||this.state===E.STOPPED||this.state===E.ERROR||(this.state=E.IDLE)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var r=e.partList[0];if(r.fragment.type===_o)return!1;var e=r.end+((null==(e=e.fragmentHint)?void 0:e.duration)||0);if(e<=t)if((this.hls.hasEnoughToStart?(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime:this.getLoadPosition())>r.start-r.fragment.duration)return!0}}return!1}getCurrentContext(e){var t,{levels:r,fragCurrent:i}=this,{level:e,sn:s,part:n}=e;return null!=r&&r[e]?(t=(r=r[e]).details,(t=(n=-1r&&this.flushMainBuffer(i,e.start)):this.flushMainBuffer(0,e.start))}getFwdBufferInfo(e,t){var r,i=this.getLoadPosition();return j(i)?(r=this.lastCurrentTime>i||null!=(r=this.media)&&r.paused?0:this.config.maxBufferHole,this.getFwdBufferInfoAtPos(e,i,t,r)):null}getFwdBufferInfoAtPos(e,t,r,i){var s=Tn.bufferInfo(e,t,i);if(0===s.len&&void 0!==s.nextStart){var r=this.fragmentTracker.getBufferedFrag(t,r);if(r&&(s.nextStart<=r.end||r.gap))return r=Math.max(Math.min(s.nextStart,r.end)-t,i),Tn.bufferInfo(e,t,r)}return s}getMaxBufferLength(e){var t=this.config;let r;return r=e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){var r=this.config,i=Math.max(Math.min(e-t,r.maxBufferLength),t),e=Math.max(e-3*t,r.maxMaxBufferLength/2,i);return i<=e&&(r.maxMaxBufferLength=e,this.warn(`Reduce max buffer length to ${e}s`),!0)}getAppendedFrag(e,t=nn){e=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return e&&"fragment"in e?e.fragment:e}getNextFragment(e,t){var r=t.fragments,i=r.length;if(!i)return null;var s=this.config,n=r[0].start,a=s.lowLatencyMode&&!!t.partList;let o=null;if(t.live){var s=s.initialLiveManifestSize;if(it}getNextFragmentLoopLoading(e,t,r,i,s){let n=null;if(e.gap&&(n=this.getNextFragment(this.nextLoadPosition,t))&&!n.gap&&r.nextStart){e=this.getFwdBufferInfoAtPos(this.mediaBuffer||this.media,r.nextStart,i,0);if(null!==e&&r.len+e.len>=s)return t=n.sn,this.loopSn!==t&&(this.log(`buffer full after gaps in "${i}" playlist starting at sn: `+t),this.loopSn=t),null}return this.loopSn=void 0,n}get primaryPrefetch(){var e;if(hd(this.config)&&(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event))return!0;return!1}filterReplacedPrimary(t,e){if(t&&hd(this.config)&&t.type!==_o){var r=this.hls.interstitialsManager,i=null==r?void 0:r.bufferingItem;if(i){var s=i.event;if(s){if(s.appendInPlace||1i.end&&i.nextEvent&&(i.nextEvent.appendInPlace||1=a.startTime&&t.end<=a.resumeTime)return null}}return t}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(r,i,s){let n=-1,a=!1,o=!0;for(let e=0,t=r.length;e=e.startSN&&t<=e.endSN&&(r=r[t-e.startSN],i.cc===r.cc)&&(s=r,this.log("Live playlist, switching playlist, load frag with next SN: "+s.sn)),s)||(s=Ul(e,i.cc,i.end))&&this.log("Live playlist, switching playlist, load frag with same CC: "+s.sn)):null!==(t=this.hls.liveSyncPosition)&&(s=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e)),s}getFragmentAtPosition(e,t,r){var i=this.config;let s=this.fragPrevious,{fragments:n,endSN:a}=r;var o=r.fragmentHint,i=i.maxFragLookUpTolerance,l=r.partList,h=!!(this.loadingParts&&null!=l&&l.length&&o);h&&!this.bitrateTest&&l[l.length-1].fragment.sn===o.sn&&(n=n.concat(o),a=o.sn);let d;return(d=ed.sn||!r.live)&&d.level===s.level&&(e=n[1+o],d=d.sn${e.startSN} fragments: `+a),r):i):(this.warn("No fragments in live playlist"),0)}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let r=this.startPosition;r `+(null==(i=this.fragCurrent)?void 0:i.url));else{var i=t.details===q.FRAG_GAP,s=(i&&this.fragmentTracker.fragBuffered(r,!0),t.errorAction);if(s){var{action:n,flags:a,retryCount:o=0,retryConfig:l}=s,h=!!l,d=h&&n===Xl,h=h&&!s.resolved&&a===Zl,a=null==(a=this.hls.latestLevelDetails)?void 0:a.live;if(!d&&h&&ln(r)&&!r.endList&&a&&!Vl(t))this.resetFragmentErrors(e),this.treatAsGap(r),s.resolved=!0;else if((d||h)&&o":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(s,e,n,a){let o=n.details;if(o){var t=Object.keys(s.elementaryStreams).reduce((e,t)=>{var r,i=s.elementaryStreams[t];return i?(r=i.endPTS-i.startPTS)<=0?(this.warn(`Could not parse fragment ${s.sn} ${t} duration reliably (${r})`),e||!1):(r=a?0:zh(o,s,i.startPTS,i.endPTS,i.startDTS,i.endDTS,this),this.hls.trigger(X.LEVEL_PTS_UPDATED,{details:o,level:n,drift:r,type:t,frag:s,start:i.startPTS,end:i.endPTS}),!0):e},!1);if(!t)if(0===n.fragmentError&&this.treatAsGap(s,n),null===(null==(t=this.transmuxer)?void 0:t.error)){t=new Error(`Found no media in fragment ${s.sn} of ${this.playlistLabel()} ${s.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:s,reason:`Found no media in msn ${s.sn} of ${this.playlistLabel()} "${n.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=E.PARSED,this.log(`Parsed ${s.type} sn: ${s.sn}${e?" part: "+e.index:""} of ${this.fragInfo(s,!1,e)})`),this.hls.trigger(X.FRAG_PARSED,{frag:s,part:e})}else this.warn("level.details undefined")}playlistLabel(){return this.playlistType===nn?"level":"track"}fragInfo(e,t=!0,r){var i;return`${this.playlistLabel()} ${e.level} (${r?"part":"frag"}:[${(null!=(i=t&&!r?e.startPTS:(r||e).start)?i:NaN).toFixed(3)}-${(null!=(i=t&&!r?e.endPTS:(r||e).end)?i:NaN).toFixed(3)}]`+(r&&"main"===e.type?"INDEPENDENT="+(r.independent?"YES":"NO"):"")}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null!=(e=this.transmuxer)&&e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}get state(){return this._state}}function hd(e){return e.interstitialsController&&!1!==e.enableInterstitialPlayback}class dp{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){var{chunks:e,dataLength:t}=this;let r;return e.length?(r=1===e.length?e[0]:((t,e)=>{let r=new Uint8Array(e),i=0;for(let e=0;e>>5}function Ad(e,t){return t+1{var s=(a=t[r+2])>>2&15;if(!(12>6&3),t=t[r+3]>>6&3|(1&a)<<2,r="mp4a.40."+n,a=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][s];let e=s;5!=n&&29!=n||(e-=3);var o=[n<<3|(14&e)>>1,(1&e)<<7|t<<3];return H.log(`manifest codec:${i}, parsed codec:${r}, channels:${t}, rate:${a} (ADTS object type:${n} sampling index:${s})`),{config:o,samplerate:a,channelCount:t,codec:r,parsedCodec:r,manifestCodec:i}}n=new Error("invalid ADTS sampling index:"+s),e.emit(X.ERROR,X.ERROR,{type:W.MEDIA_ERROR,details:q.FRAG_PARSING_ERROR,fatal:!0,error:n,reason:n.message})})(t,r,i,s))&&an(e,t)}function Ld(e){return 9216e4/e}function kd(e,t,r,i,s){var n,a,i=i+s*Ld(e.samplerate),s=((e,t)=>{var r=Sd(e,t);if(t+r<=e.length){e=_d(e,t)-r;if(0e instanceof ArrayBuffer?e:e.buffer)(r),t=1;"BYTES_PER_ELEMENT"in n&&(t=n.BYTES_PER_ELEMENT);var r=((a=(e=>e&&e.buffer instanceof ArrayBuffer&&void 0!==e.byteLength&&void 0!==e.byteOffset)(r)?r.byteOffset:0)+r.byteLength)/t,a=(a+i)/t,i=Math.floor(Math.max(0,Math.min(a,r))),a=Math.floor(Math.min(i+Math.max(s,0),r));return new n(e,i,a-i)}}function Rd(t){var r={key:t.type,description:"",data:"",mimeType:null,pictureType:null};if(!(t.size<2))if(3!==t.data[0])console.log("Ignore frame with unrecognized character encoding");else{var i=t.data.subarray(1).indexOf(0);if(-1!==i){var s=Co(Id(t.data,1,i)),n=t.data[2+i],a=t.data.subarray(3+i).indexOf(0);if(-1!==a){var o=Co(Id(t.data,3+i,a));let e;return e="--\x3e"===s?Co(Id(t.data,4+i+a)):(t=t.data.subarray(4+i+a))instanceof ArrayBuffer?t:(0==t.byteOffset&&t.byteLength==t.buffer.byteLength?t:new Uint8Array(t)).buffer,r.mimeType=s,r.pictureType=n,r.description=o,r.data=e,r}}}}function Cd(e){var t,r,i,s,n;return"PRIV"===e.type?(t=e).size<2?void 0:(r=Co(t.data,!0),n=new Uint8Array(t.data.subarray(r.length+1)),{key:t.type,info:r,data:n.buffer}):"W"===e.type[0]?"WXXX"===(t=e).type?t.size<2?void 0:(r=1,r+=(i=Co(t.data.subarray(1),!0)).length+1,r=Co(t.data.subarray(r)),{key:t.type,info:i,data:r}):(i=Co(t.data),{key:t.type,info:"",data:i}):"APIC"===e.type?Rd(e):(n=e).size<2?void 0:"TXXX"===n.type?(i=1,i+=(s=Co(n.data.subarray(1),!0)).length+1,i=Co(n.data.subarray(i)),{key:n.type,info:s,data:i}):(s=Co(n.data.subarray(1)),{key:n.type,info:"",data:s})}let wi=10,Li=10;function Pd(e){let t=0;for(var r,i=[];yd(e,t);){for(var s=bd(e,t+6),n=(e[t+5]>>6&1&&(t+=wi),(t+=wi)+s);t+Li(e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e))({});function Od(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class cp{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=el(this.cachedData,e),this.cachedData=null);let r=Ed(e,0),i=r?r.length:0,s;var n,a,o=this._audioTrack,l=this._id3Track,h=r?xd(r):void 0,d=e.length;for((null===this.basePTS||0===this.frameIndex&&j(h))&&(this.basePTS=ki(h,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),r&&0j(e)?90*e:9e4*t+(r?9e4*r.baseTime/r.timescale:0),Ii=null,Ri=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Ci=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Pi=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Di=[0,1,1,4];function Md(e,t,r,i,s){var n;return!(r+24>t.length)&&(n=Fd(t,r))&&r+n.frameLength<=t.length?(i=i+s*(9e4*n.samplesPerFrame/n.sampleRate),s={unit:t.subarray(r,r+n.frameLength),pts:i,dts:i},e.config=[],e.channelCount=n.channelCount,e.samplerate=n.sampleRate,e.samples.push(s),{sample:s,length:n.frameLength,missing:0}):void 0}function Fd(e,t){var r,i,s,n,a,o=e[t+1]>>3&3,l=e[t+1]>>1&3,h=e[t+2]>>4&15,d=e[t+2]>>2&3;if(1!=o&&0!=h&&15!=h&&3!=d)return a=e[t+2]>>1&1,r=e[t+3]>>6,i=3==o?3-l:3==l?3:4,i=1e3*Ri[14*i+h-1],h=3==o?0:2==o?1:2,h=Ci[3*h+d],d=3==r?1:2,n=8*(o=Pi[o][l])*(s=Di[l]),o=Math.floor(o*i/h+a)*s,null===Ii&&(a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i),Ii=a?parseInt(a[1]):0),!!Ii&&Ii<=87&&2==l&&224e3<=i&&0==r&&(e[t+3]=128|e[t+3]),{sampleRate:h,channelCount:d,frameLength:o,samplesPerFrame:n}}function Nd(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function Ud(e,t){return t+1=s.length?void 0:!((a=_d(s,n))<=o)&&((o=n+a)===s.length||Ad(s,o)))return r.log("ADTS sync word found !"),!0}return!1}canParse(e,t){return(t=t)+5<(e=e).length&&Td(e,t)&&_d(e,t)<=e.length-t}appendFrame(e,t,r){wd(e,this.observer,t,r,e.manifestCodec);e=kd(e,t,r,this.basePTS,this.frameIndex);if(e&&0===e.missing)return e}}let xi=(e,t)=>{let r=0,i=5;t+=i;for(var s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);0>>24+l<>l,r=r?r<t.length)return-1;if(11!==t[r]||119!==t[r+1])return-1;var n=t[r+4]>>6;if(3<=n)return-1;var a=[48e3,44100,32e3][n],o=63&t[r+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+n];if(t.length>5;let d=0;(2==h||(1&h&&1!=h&&(d+=2),4&h))&&(d+=2);var c=(t[r+6]<<8|t[r+7])>>12-d&1,u=[2,1,2,3,3,4,4,5][h]+c,f=7&t[r+5],n=new Uint8Array([n<<6|t[r+5]>>3<<1|f>>2,(3&f)<<6|h<<3|c<<2|o>>4,o<<4&224]),f=i+s*(1536/a*9e4),h=t.subarray(r,r+l);return e.config=n,e.channelCount=u,e.samplerate=a,e.samples.push({unit:h,pts:f}),l}class pp extends cp{resetInitSegment(e,t,r,i){super.resetInitSegment(e,t,r,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}static probe(t){if(t){var r=Ed(t,0);let e=(null==r?void 0:r.length)||0;if(!(r&&11===t[e]&&119===t[e+1]&&void 0!==xd(r)&&xi(t,e)<=16))for(var i=t.length;e{t=(e=>{var t=e[0];let r="",i="",s=0,n=0,a=0,o=0,l=0,h=0;if(0===t){for(;"\0"!==hn(e.subarray(h,h+1));)r+=hn(e.subarray(h,h+1)),h+=1;for(r+=hn(e.subarray(h,h+1)),h+=1;"\0"!==hn(e.subarray(h,h+1));)i+=hn(e.subarray(h,h+1)),h+=1;i+=hn(e.subarray(h,h+1)),h+=1,s=dn(e,12),n=dn(e,16),o=dn(e,20),l=dn(e,24),h=28}else if(1===t){h+=4,s=dn(e,h);var t=dn(e,h+=4),d=dn(e,h+=4);for(h+=4,a=2**32*t+d,zr(a)||(a=Number.MAX_SAFE_INTEGER,H.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=dn(e,h),h+=4,l=dn(e,h),h+=4;"\0"!==hn(e.subarray(h,h+1));)r+=hn(e.subarray(h,h+1)),h+=1;for(r+=hn(e.subarray(h,h+1)),h+=1;"\0"!==hn(e.subarray(h,h+1));)i+=hn(e.subarray(h,h+1)),h+=1;i+=hn(e.subarray(h,h+1)),h+=1}return t=e.subarray(h,e.byteLength),{schemeIdUri:r,value:i,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:t}})(t);if(Oi.test(t.schemeIdUri)){var r=Vd(t,s);let e=4294967295===t.eventDuration?Number.POSITIVE_INFINITY:t.eventDuration/t.timeScale;e<=.001&&(e=Number.POSITIVE_INFINITY);var i=t.payload;n.samples.push({data:i,len:i.byteLength,dts:r,pts:r,type:S.emsg,duration:e})}else this.config.enableEmsgKLVMetadata&&t.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")&&(i=Vd(t,s),n.samples.push({data:t.payload,len:t.payload.byteLength,dts:i,pts:i,type:S.misbklv,duration:Number.POSITIVE_INFINITY}))}),n}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}}function Vd(e,t){return j(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class mp{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new ep(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,hh)}decryptAacSample(t,r,i){let s=t[r].unit;var e;s.length<=16||(e=(e=s.subarray(16,s.length-s.length%16)).buffer.slice(e.byteOffset,e.byteOffset+e.length),this.decryptBuffer(e).then(e=>{e=new Uint8Array(e);s.set(e,16),this.decrypter.isSync()||this.decryptAacSamples(t,r+1,i)}).catch(i))}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length)return void r();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(t){var e=16*Math.floor((t.length-48)/160)+16,r=new Int8Array(e);let i=0;for(let e=32;e{n.data=this.getAvcDecryptedUnit(a,e),this.decrypter.isSync()||this.decryptAvcSamples(t,r,i+1,s)}).catch(s)}decryptAvcSamples(e,t,r,i){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length)return void i();for(var s=e[t].units;!(r>=s.length);r++){var n=s[r];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(e,t,r,i,n),this.decrypter.isSync())))return}}}}class vp{constructor(){this.VideoSample=null}createVideoSample(e,t,r){return{key:e,frame:!1,pts:t,dts:r,units:[],length:0}}getLastNalUnit(e){let t,r=this.VideoSample,i;return null!=(t=r=r&&0!==r.units.length?r:e[e.length-1])&&t.units&&(e=r.units,i=e[e.length-1]),i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var r=t.samples,i=r.length;if(!i)return void t.dropped++;r=r[i-1];e.pts=r.pts,e.dts=r.dts}t.samples.push(e)}}parseNALu(e,t,r){var i=t.byteLength;let s=e.naluState||0;var n,a=s,o=[];let l=0,h=-1,d=0;for(-1===s&&(h=0,d=this.getNALuType(t,0),s=0,l=1);le||(e=(e-=this.bitsAvailable)-((t=e>>3)<<3),this.bytesAvailable-=t,this.loadWord()),this.word<<=e,this.bitsAvailable-=e}readBits(e){var t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(32>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){var e=this.skipLZ();return this.readBits(e+1)-1}readEG(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class bp extends vp{parsePES(a,r,o,e){var t=this.parseNALu(a,o.data,e);let l=this.VideoSample,h,d=!1;o.data=null,l&&t.length&&!a.audFound&&(this.pushAccessUnit(l,a),l=this.VideoSample=this.createVideoSample(!1,o.pts,o.dts)),t.forEach(t=>{switch(t.type){case 1:{let e=!1;h=!0;var i=t.data;d&&4{var t;switch(e.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:(h=h||(this.VideoSample=this.createVideoSample(!1,l.pts,l.dts))).frame=!0,d=!0;break;case 16:case 17:case 18:case 21:d=!0,c&&null!=(t=h)&&t.frame&&!h.key&&(this.pushAccessUnit(h,a),h=this.VideoSample=null),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0,h.frame=!0;break;case 19:case 20:d=!0,null!=(t=h)&&t.frame&&!h.key&&(this.pushAccessUnit(h,a),h=this.VideoSample=null),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0,h.frame=!0;break;case 39:d=!0,il(e.data,2,l.pts,o.samples);break;case 32:d=!0,a.vps||("object"!=typeof a.params&&(a.params={}),a.params=an(a.params,this.readVPS(e.data)),this.initVPS=e.data),a.vps=[e.data];break;case 33:if(d=!0,c=!0,void 0===a.vps||a.vps[0]===this.initVPS||void 0===a.sps||this.matchSPS(a.sps[0],e.data)||(this.initVPS=a.vps[0],a.sps=a.pps=void 0),!a.sps){var r,i=this.readSPS(e.data);for(r in a.width=i.width,a.height=i.height,a.pixelRatio=i.pixelRatio,a.codec=i.codecString,a.sps=[],"object"!=typeof a.params&&(a.params={}),i.params)a.params[r]=i.params[r]}this.pushParameterSet(a.sps,e.data,a.vps),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0;break;case 34:if(d=!0,"object"==typeof a.params){if(!a.pps){a.pps=[];var s,n=this.readPPS(e.data);for(s in n)a.params[s]=n[s]}this.pushParameterSet(a.pps,e.data,a.vps)}break;case 35:d=!0,a.audFound=!0,null!=(t=h)&&t.frame&&(this.pushAccessUnit(h,a),h=null),h=h||(this.VideoSample=this.createVideoSample(!1,l.pts,l.dts));break;default:d=!1}h&&d&&h.units.push(e)}),e&&h&&(this.pushAccessUnit(h,a),this.VideoSample=null)}pushParameterSet(e,t,r){(r&&r[0]===this.initVPS||!r&&!e.length)&&e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(t){var r=new Uint8Array(t.byteLength);let i=0;for(let e=0;e>e&1)<<31-e)>>>0;let M=O.toString(16);return{codecString:`hvc1.${T}${s}.${M=1===s&&"2"===M?"6":M}.${t?"H":"L"}${h}.B0`,params:{general_tier_flag:t,general_profile_idc:s,general_profile_space:e,general_profile_compatibility_flags:[n,a,o,l],general_constraint_indicator_flags:[F,N,U,B,$,V],general_level_idc:h,bit_depth:E+8,bit_depth_luma_minus8:E,bit_depth_chroma_minus8:G,min_spatial_segmentation_idc:k,chroma_format_idc:u,frame_rate:{fixed:C,fps:D/P}},width:W,height:q,pixelRatio:[I,R]}}readPPS(e){var e=new yp(this.ebsp2rbsp(e)),t=(e.readUByte(),e.readUByte(),e.skipUEG(),e.skipUEG(),e.skipBits(2),e.skipBits(3),e.skipBits(2),e.skipUEG(),e.skipUEG(),e.skipEG(),e.skipBits(2),e.readBoolean()),t=(t&&e.skipUEG(),e.skipEG(),e.skipEG(),e.skipBits(4),e.readBoolean()),e=e.readBoolean();let r=1;return e&&t?r=0:e?r=3:t&&(r=2),{parallelismType:r}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}class Tp{constructor(e,t,r,i){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.logger=i,this.videoParser=null}static probe(e,t){e=Tp.syncOffset(e);return 0a))return r}o++}return-1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:Zr[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,r,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Tp.createTrack("video"),this._videoTrack.duration=i,this._audioTrack=Tp.createTrack("audio",i),this._id3Track=Tp.createTrack("id3"),this._txtTrack=Tp.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r}resetTimeStamp(){}resetContiguity(){var{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(r,e,i=!1,t=!1){i||(this.sampleAes=null);let s;var n=this._videoTrack,a=this._audioTrack,o=this._id3Track,l=this._txtTrack;let h=n.pid,d=n.pesData,c=a.pid,u=o.pid,f=a.pesData,p=o.pesData,g=null,m=this.pmtParsed,v=this._pmtId,y=r.length;if(this.remainderData&&(r=el(this.remainderData,r),y=r.length,this.remainderData=null),y<188&&!t)return this.remainderData=r,{audioTrack:a,videoTrack:n,id3Track:o,textTrack:l};var b,E=Math.max(0,Tp.syncOffset(r));(y-=(y-E)%188)>4){if((e=t+5+r[t+4])===t+188)continue}else e=t+4;switch(_){case h:S&&(d&&(s=zd(d,this.logger))&&(this.readyVideoParser(n.segmentCodec),null!==this.videoParser)&&this.videoParser.parsePES(n,l,s,!1),d={data:[],size:0}),d&&(d.data.push(r.subarray(e,t+188)),d.size+=t+188-e);break;case c:if(S){if(f&&(s=zd(f,this.logger)))switch(a.segmentCodec){case"aac":this.parseAACPES(a,s);break;case"mp3":this.parseMPEGPES(a,s);break;case"ac3":this.parseAC3PES(a,s)}f={data:[],size:0}}f&&(f.data.push(r.subarray(e,t+188)),f.size+=t+188-e);break;case u:S&&(p&&(s=zd(p,this.logger))&&this.parseID3PES(o,s),p={data:[],size:0}),p&&(p.data.push(r.subarray(e,t+188)),p.size+=t+188-e);break;case 0:S&&(e+=r[e]+1),v=this._pmtId=(A=r,b=e,(31&A[b+10])<<8|A[b+11]);break;case v:S&&(e+=r[e]+1);var A=((r,i,s,e,t,n)=>{var a={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(15&r[i+1])<<8|r[i+2],l=i+3+o-4;for(i+=12+(o=(15&r[i+10])<<8|r[i+11]);i{let{audioTrack:t,videoTrack:r}=i;t.samples&&"aac"===t.segmentCodec?s.decryptAacSamples(t.samples,0,()=>{r.samples?s.decryptAvcSamples(r.samples,0,0,()=>{e(i)}):e(i)}):r.samples&&s.decryptAvcSamples(r.samples,0,0,()=>{e(i)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let r=0;var i,s,n=this.aacOverFlow;let a=t.data;n&&(this.aacOverFlow=null,l=n.missing,d=n.sample.unit.byteLength,-1===l?a=el(n.sample.unit,a):(d=d-l,n.sample.unit.set(a.subarray(0,l),d),e.samples.push(n.sample),r=n.missing));let o;for(o=r,i=a.length;oe.size-6)return null;var h=s[7];192&h&&(a=536870912*(14&s[9])+4194304*(255&s[10])+16384*(254&s[11])+128*(255&s[12])+(254&s[13])/2,64&h?(o=536870912*(14&s[14])+4194304*(255&s[15])+16384*(254&s[16])+128*(255&s[17])+(254&s[18])/2,54e5e){r-=e;continue}s=s.subarray(r),e-=r,r=0}d.set(s,i),i+=e}return n&&(n-=h+3),{data:d,pts:a,dts:o,len:n}}}class Sp{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}let Mi=Math.pow(2,32)-1;class _n{static init(){_n.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in _n.types)_n.types.hasOwnProperty(e)&&(_n.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);var t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t=(_n.HDLR_TYPES={video:t,audio:r},new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])),r=new Uint8Array([0,0,0,0,0,0,0,0]),r=(_n.STTS=_n.STSC=_n.STCO=r,_n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),_n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),_n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),_n.STSD=new Uint8Array([0,0,0,0,0,0,0,1]),new Uint8Array([105,115,111,109])),i=new Uint8Array([97,118,99,49]),s=new Uint8Array([0,0,0,1]);_n.FTYP=_n.box(_n.types.ftyp,r,s,r,i),_n.DINF=_n.box(_n.types.dinf,_n.box(_n.types.dref,t))}static box(e,...t){let r=8,i=t.length;for(var s=i;i--;)r+=t[i].byteLength;var n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=255&r,n.set(e,4),i=0,r=8;i>24&255,e>>16&255,e>>8&255,255&e,r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t,85,196,0,0]))}static mdia(e){return _n.box(_n.types.mdia,_n.mdhd(e.timescale||0,e.duration||0),_n.hdlr(e.type),_n.minf(e))}static mfhd(e){return _n.box(_n.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?_n.box(_n.types.minf,_n.box(_n.types.smhd,_n.SMHD),_n.DINF,_n.stbl(e)):_n.box(_n.types.minf,_n.box(_n.types.vmhd,_n.VMHD),_n.DINF,_n.stbl(e))}static moof(e,t,r){return _n.box(_n.types.moof,_n.mfhd(e),_n.traf(r,t))}static moov(e){let t=e.length;for(var r=[];t--;)r[t]=_n.trak(e[t]);return _n.box.apply(null,[_n.types.moov,_n.mvhd(e[0].timescale||0,e[0].duration||0)].concat(r).concat(_n.mvex(e)))}static mvex(e){let t=e.length;for(var r=[];t--;)r[t]=_n.trex(e[t]);return _n.box.apply(null,[_n.types.mvex,...r])}static mvhd(e,t){t*=e;var r=Math.floor(t/(1+Mi)),t=Math.floor(t%(1+Mi)),e=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return _n.box(_n.types.mvhd,e)}static sdtp(e){var t,r=e.samples||[],i=new Uint8Array(4+r.length);let s;for(s=0;s>>8&255),t.push(255&n),t=t.concat(Array.prototype.slice.call(s));for(i=0;i>>8&255),r.push(255&n),r=r.concat(Array.prototype.slice.call(s));var a=_n.box(_n.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),o=e.width,l=e.height,h=e.pixelRatio[0],d=e.pixelRatio[1];return _n.box(_n.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),a,_n.box(_n.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),_n.box(_n.types.pasp,new Uint8Array([h>>24,h>>16&255,h>>8&255,255&h,d>>24,d>>16&255,d>>8&255,255&d])))}static esds(e){e=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e,6,1,2])}static audioStsd(e){var t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return _n.box(_n.types.mp4a,_n.audioStsd(e),_n.box(_n.types.esds,_n.esds(e)))}static mp3(e){return _n.box(_n.types[".mp3"],_n.audioStsd(e))}static ac3(e){return _n.box(_n.types["ac-3"],_n.audioStsd(e),_n.box(_n.types.dac3,e.config))}static stsd(e){var t=e.segmentCodec;if("audio"===e.type){if("aac"===t)return _n.box(_n.types.stsd,_n.STSD,_n.mp4a(e));if("ac3"===t&&e.config)return _n.box(_n.types.stsd,_n.STSD,_n.ac3(e));if("mp3"===t&&"mp3"===e.codec)return _n.box(_n.types.stsd,_n.STSD,_n.mp3(e))}else{if(!e.pps||!e.sps)throw new Error("video track missing pps or sps");if("avc"===t)return _n.box(_n.types.stsd,_n.STSD,_n.avc1(e));if("hevc"===t&&e.vps)return _n.box(_n.types.stsd,_n.STSD,_n.hvc1(e))}throw new Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){var t=e.id,r=(e.duration||0)*(e.timescale||0),i=e.width||0,e=e.height||0,s=Math.floor(r/(1+Mi)),r=Math.floor(r%(1+Mi));return _n.box(_n.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,r>>24,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,e>>8&255,255&e,0,0]))}static traf(e,t){var r=_n.sdtp(e),i=e.id,s=Math.floor(t/(1+Mi)),t=Math.floor(t%(1+Mi));return _n.box(_n.types.traf,_n.box(_n.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),_n.box(_n.types.tfdt,new Uint8Array([1,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,t>>24,t>>16&255,t>>8&255,255&t])),_n.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,_n.box(_n.types.trak,_n.tkhd(e),_n.mdia(e))}static trex(e){e=e.id;return _n.box(_n.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){var r,i,s=e.samples||[],n=s.length,a=12+16*n,o=new Uint8Array(a);let l;for(o.set(["video"===e.type?1:0,0,15,1,n>>>24&255,n>>>16&255,n>>>8&255,255&n,(t+=8+a)>>>24&255,t>>>16&255,t>>>8&255,255&t],0),l=0;l>>24&255,i>>>16&255,i>>>8&255,255&i,(i=r.size)>>>24&255,i>>>16&255,i>>>8&255,255&i,(i=r.flags).isLeading<<2|i.dependsOn,i.isDependedOn<<6|i.hasRedundancy<<4|i.paddingValue<<1|i.isNonSync,61440&i.degradPrio,15&i.degradPrio,(i=r.cts)>>>24&255,i>>>16&255,i>>>8&255,255&i],12+16*l);return _n.box(_n.types.trun,o)}static initSegment(e){_n.types||_n.init();e=_n.moov(e);return el(_n.FTYP,e)}static hvc1(e){var t=e.params,r=[e.vps,e.sps,e.pps],t=new Uint8Array([1,t.general_profile_space<<6|(t.general_tier_flag?32:0)|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|(t.frame_rate.fixed?64:0),r.length]);let i=t.length;for(let t=0;t>8,255&r[t][e].length]),i),i+=2,s.set(r[t][e],i),i+=r[t][e].length}var t=_n.box(_n.types.hvcC,s),a=e.width,o=e.height,l=e.pixelRatio[0],e=e.pixelRatio[1];return _n.box(_n.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a>>8&255,255&a,o>>8&255,255&o,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),t,_n.box(_n.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),_n.box(_n.types.pasp,new Uint8Array([l>>24,l>>16&255,l>>8&255,255&l,e>>24,e>>16&255,e>>8&255,255&e])))}}_n.types=void 0,_n.HDLR_TYPES=void 0,_n.STTS=void 0,_n.STSC=void 0,_n.STCO=void 0,_n.STSZ=void 0,_n.VMHD=void 0,_n.SMHD=void 0,_n.STSD=void 0,_n.FTYP=void 0,_n.DINF=void 0;let Fi=9e4;function Kd(e,t,r=1,i=!1){e=e*t*r;return i?Math.round(e):e}function Yd(e,t=!1){return Kd(e,1e3,1/Fi,t)}function Wd(e){var{baseTime:e,timescale:t,trackId:r}=e;return e/t+` (${e}/${t}) trackId: `+r}let Ni=null,Ui=null;function qd(e,t,r,i){return{duration:t,size:r,cts:i,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}}class _p extends Vf{constructor(e,t,r,i){super("mp4-remuxer",i),this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,null===Ni&&(i=(navigator.userAgent||"").match(/Chrome\/(\d+)/i),Ni=i?parseInt(i[1]):0),null===Ui&&(e=navigator.userAgent.match(/Safari\/(\d+)/i),Ui=e?parseInt(e[1]):0)}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){var t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t&&Wd(t)} > `+(e&&Wd(e))),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let s=!1,n=e[0].pts;e=e.reduce((e,t)=>{let r=t.pts,i=r-e;return i<-4294967296&&(s=!0,r=Xd(r,n),i=r-e),0{for(let e=0;e=n[0].pts||Ni)){f=v;var S=n[0].pts-E;if(T)n[0].dts=f,n[0].pts=S;else{let t=!0;for(let e=0;eS&&t);e++){var _,A,F=n[e].pts;n[e].dts-=E,n[e].pts-=E,e0<=e.pts)).length&&this.warn(`Removed ${f.length-h} of ${h} samples (initPTS ${m} / ${n})`),!f.length)return;g=0===i?0:t&&!u?Math.max(0,v-m):f[0].pts-m}if("aac"===s.segmentCodec){var y=this.config.maxAudioFramesDrift;for(let r=0,i=g+m;re.pts-t.pts);var e=t.samples;return t.samples=[],{samples:e}}}class Ap extends Vf{constructor(e,t,r,i){super("passthrough-remuxer",i),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;var t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,r,i){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(e,i),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:r,videoCodec:i}=this;if(null!=e&&e.byteLength){var{audio:s,video:n}=this.initData=Ko(e);if(t){var a=e;if(a&&t){let i=t.keyId;i&&t.isCommonEncryption&&Qo(a,(e,t)=>{var r=e.subarray(8,24);r.some(e=>0!==e)||(H.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${Po(r)} -> `+Po(i)),e.set(i,8))})}}else{t=s||n;null!=t&&t.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${t.codec}")!`)}s&&(r=ec(s,$o,this)),n&&(i=ec(n,Vo,this));a={};s&&n?a.audiovideo={container:"video/mp4",codec:r+","+i,supplemental:n.supplemental,encrypted:n.encrypted,initSegment:e,id:"main"}:s?a.audio={container:"audio/mp4",codec:r,encrypted:s.encrypted,initSegment:e,id:"audio"}:n?a.video={container:"video/mp4",codec:i,supplemental:n.supplemental,encrypted:n.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=a}else this.initTracks=void 0,this.initData=void 0}remux(e,s,n,a,o,l){let t,r,{initPTS:h,lastEndTime:i}=this;var d={audio:void 0,video:void 0,text:a,id3:n,initSegment:void 0},s=(j(i)||(this.lastEndTime=o||0),s.samples);if(s.length){var c={initPTS:void 0,timescale:void 0,trackId:void 0};let i=this.initData;if(null!=(t=i)&&t.length||(this.generateInitSegment(s),i=this.initData),null!=(r=i)&&r.length){this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);var u=Jo(s,i,this),f=i.audio?u[i.audio.id]:null,u=i.video?u[i.video.id]:null,p=Jd(u,1/0),g=Jd(f,1/0),m=Jd(u,0,!0),v=Jd(f,0,!0);let e=o,t=0;var y,b=f&&(!u||!h&&gnull===e||(i=Math.max(i,1),t-=e.baseTime/e.timescale,Math.abs(t-r)>i))(h,e,o,t)&&T===h.timescale||(h&&this.warn(`Timestamps at playlist time: ${l?"":"~"}${o} ${E/T} != initPTS: ${h.baseTime/h.timescale} (${h.baseTime}/${h.timescale}) trackId: `+h.trackId),this.log(`Found initPTS at playlist time: ${o} offset: ${e-o} (${E}/${T}) trackId: `+y),h=null,c.initPTS=E,c.timescale=T,c.trackId=y)):this.warn("No audio or video samples found for initPTS at playlist time: "+o),h?(c.initPTS=h.baseTime,c.timescale=h.timescale,c.trackId=h.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=e,c.timescale=1,c.trackId=-1),this.initPTS=h={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId}),e-h.baseTime/h.timescale),b=f+t,v=(0{let r=null;return r=0{e=this.push(e,null,r);return this.decryptionPromise=null,e}),this.decryptionPromise;{let e=m.softwareDecrypt(n,g.key.buffer,g.iv.buffer,v);if(-1this.flush(t));let n=[];var s=i.timeOffset,{demuxer:r,remuxer:i}=(r&&(i=r.flush())&&n.push(this.push(i.buffer,null,t)),this);return r&&i?tc(i=r.flush(s))?(this.asyncResult=!0,i.then(e=>(this.flushRemux(n,e,t),n))):(this.flushRemux(n,i,t),this.asyncResult?Promise.resolve(n):n):(e.executeEnd=T(),r=[$i(t)],this.asyncResult?Promise.resolve(r):r)}flushRemux(e,t,r){var{audioTrack:t,videoTrack:i,id3Track:s,textTrack:n}=t,{accurateTimeOffset:a,timeOffset:o}=this.currentTransmuxState,t=(this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${r.sn}${-1({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,r,i,!1,this.id),chunkMeta:s}))}configureTransmuxer(r){var i,{config:e,observer:t,typeSupported:s}=this;let n;for(let e=0,t=Bi.length;e({remuxResult:{},chunkMeta:e});function tc(e){return"then"in e&&e.then instanceof Function}class Lp{constructor(e,t,r,i,s){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=i,this.defaultInitPts=s||null}}class kp{constructor(e,t,r,i,s,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=i,this.timeOffset=s,this.initSegmentChange=n}}let Vi=0;class Ip{constructor(t,r,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=Vi++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{var t=e.data,r=this.hls;if(r&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":var i=null==(i=this.workerContext)?void 0:i.objectURL;i&&self.URL.revokeObjectURL(i);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":r.logger[t.data.logType]&&r.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,r.trigger(t.event,t.data)}},this.onWorkerError=e=>{this.hls&&(e=new Error(e.message+` (${e.filename}:${e.lineno})`),this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:e}))};var e,n,a,o=t.config,i=(this.hls=t,this.id=r,this.useWorker=!!o.enableWorker,this.onTransmuxComplete=i,this.onFlush=s,(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===X.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)}),s=(this.observer=new md,this.observer.on(X.FRAG_DECRYPTED,i),this.observer.on(X.ERROR,i),ml(o.preferManagedMediaSource));if(this.useWorker&&"undefined"!=typeof Worker){i=this.hls.logger;if(o.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{o.workerPath?(i.log(`loading Web Worker ${o.workerPath} for "${r}"`),this.workerContext=(n=o.workerPath,(a=Ai[n])?(a.clientCount++,a):(a=new self.URL(n,self.location.href).href,a={worker:new self.Worker(a),scriptURL:a,clientCount:1},Ai[n]=a))):(i.log(`injecting Web Worker for "${r}"`),this.workerContext=(e=Ai[_i])?(e.clientCount++,e):(e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(e),e={worker:new self.Worker(e),objectURL:e,clientCount:1},Ai[_i]=e));var l=this.workerContext.worker;l.addEventListener("message",this.onWorkerMessage),l.addEventListener("error",this.onWorkerError),l.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:s,id:r,config:$(o)})}catch(e){i.warn(`Error setting up "${r}" Web Worker, fallback to inline`,e),this.terminateWorker(),this.error=null,this.transmuxer=new wp(this.observer,s,o,"",r,t.logger)}return}}this.transmuxer=new wp(this.observer,s,o,"",r,t.logger)}reset(){var e,t,r;this.frag=null,this.part=null,this.workerContext&&(e=this.instanceNo,this.instanceNo=Vi++,r=ml((t=this.hls.config).preferManagedMediaSource),this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:r,id:this.id,config:$(t)}))}terminateWorker(){var e,t,r;this.workerContext&&(e=this.workerContext.worker,this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),e=this.hls.config.workerPath,r=Ai[e||_i])&&1==r.clientCount--&&({worker:r,objectURL:t}=r,delete Ai[e||_i],t&&self.URL.revokeObjectURL(t),r.terminate())}destroy(){this.workerContext?(this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null):(e=this.transmuxer)&&(e.destroy(),this.transmuxer=null);var e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,r,i,s,n,a,o,l,h){l.transmuxing.start=self.performance.now();var{instanceNo:d,transmuxer:c}=this,u=(n||s).start,f=s.decryptdata,p=this.frag,g=!(p&&s.cc===p.cc),m=!(p&&l.level===p.level),v=p?l.sn-p.sn:-1,y=this.part?l.part-this.part.index:-1,b=0==v&&1{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}):this.handleTransmuxComplete(y))}flush(t){t.transmuxing.start=self.performance.now();var{instanceNo:e,transmuxer:r}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:e,cmd:"flush",chunkMeta:t}):r&&(tc(e=r.flush(t))?e.then(e=>{this.handleFlushResult(e,t)}).catch(e=>{this.transmuxerError(e,t,"transmuxer-interface flush error")}):this.handleFlushResult(e,t))}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){var{instanceNo:t,transmuxer:r}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):r&&r.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class Rp extends hp{constructor(e,t,r){super(e,t,r,"audio-stream-controller",So),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.BUFFER_RESET,this.onBufferReset,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){var e=this.hls;e&&(super.unregisterListeners(),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.BUFFER_RESET,this.onBufferReset,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:r,initPTS:i,timescale:s,trackId:n}){var a;r===nn&&(r=t.cc,a=this.fragCurrent,this.initPTS[r]={baseTime:i,timescale:s,trackId:n},this.log(`InitPTS for cc: ${r} found from main: ${i/s} (${i}/${s}) trackId: `+n),this.mainAnchor=t,this.state===E.WAITING_INIT_PTS?(!(i=this.waitingData)&&!this.loadingParts||i&&i.frag.cc!==r)&&this.syncWithAnchor(t,null==i?void 0:i.frag):!this.hls.hasEnoughToStart&&a&&a.cc!==r?(a.abortRequests(),this.syncWithAnchor(t,a)):this.state===E.IDLE&&this.tick())}getLoadPosition(){return!this.startFragRequested&&0<=this.nextLoadPosition?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var r=(null==(r=this.mainFragLoading)?void 0:r.frag)||null;t&&(null==r?void 0:r.cc)===t.cc||(t=(r||e).cc,(r=Ul(this.getLevelDetails(),t,this.getLoadPosition()))&&(this.log(`Syncing with main frag at ${r.start} cc `+r.cc),this.startFragRequested=!1,this.nextLoadPosition=r.start,this.resetLoadingState(),this.state===E.IDLE)&&this.doTickIdle())}startLoad(e,t){var r;this.levels?(r=this.lastCurrentTime,this.stopLoad(),this.setInterval(100),0o||s.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=o+.05),!(e<=t&&!this.switchingTrack&&he.end&&(i=this.fragmentTracker.getFragAtPos(h,nn))&&i.end>e.end&&(e=i,this.mainFragLoading={frag:i,targetBufferTime:null});o=t.start>e.end;if(o)return}this.loadFragment(t,n,h)}else this.bufferFlushed=!0}}}}}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new Yf(e))}onAudioTrackSwitching(e,t){var r=!!t.url,i=(this.trackId=t.id,this).fragCurrent;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),r?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==E.STOPPED&&(this.setInterval(100),this.state=E.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;t=this.cachedTrackLoadedData;t&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(X.AUDIO_TRACK_LOADED,t))}onAudioTrackLoaded(e,t){var r=this.levels,{details:i,id:s,groupId:n,track:a}=t;if(r){var o=this.mainDetails;if(!o||i.endCC>o.endCC||o.expired)this.cachedTrackLoadedData=t,this.state!==E.STOPPED&&(this.state=E.WAITING_TRACK);else{this.cachedTrackLoadedData=null,this.log(`Audio track ${s} "${a.name}" of "${n}" loaded [${i.startSN},${i.endSN}]${i.lastPartSn?`[part-${i.lastPartSn}-${i.lastPartIndex}]`:""},duration:`+i.totalduration);var l,r=r[s];let e=0;if(i.live||null!=(l=r.details)&&l.live){if(this.checkLiveUpdate(i),i.deltaUpdateFailed)return;r.details&&(e=this.alignPlaylists(i,r.details,null==(l=this.levelLastLoaded)?void 0:l.details)),i.alignedSliding||(nd(i,o),i.alignedSliding||ad(i,o),e=i.fragmentStart)}r.details=i,this.levelLastLoaded=r,this.startFragRequested||this.setStartPosition(o,e),this.hls.trigger(X.AUDIO_TRACK_UPDATED,{details:i,id:s,groupId:t.groupId}),this.state!==E.WAITING_TRACK||this.waitForCdnTuneIn(i)||(this.state=E.IDLE),this.tick()}}else this.warn(`Audio tracks reset while loading track ${s} "${a.name}" of "${n}"`)}_handleFragmentLoadProgress(t){var r=t.frag,{part:t,payload:i}=t,{config:s,trackId:n,levels:a}=this;if(a){a=a[n];if(a){var o=a.details;if(o){s=s.defaultAudioCodec||a.audioCodec||"mp4a.40.2";let e=this.transmuxer;e=e||(this.transmuxer=new Ip(this.hls,So,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var l,h,a=this.initPTS[r.cc],d=null==(d=r.initSegment)?void 0:d.data;void 0!==a?(h=-1!==(l=t?t.index:-1),l=new sp(r.level,r.sn,r.stats.chunkCount,i.byteLength,l,h),e.push(i,d,s,"",r,t,o.totalduration,!1,l,a)):(this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${o.startSN} ,${o.endSN}],track `+n),h=(this.waitingData=this.waitingData||{frag:r,part:t,cache:new dp,complete:!1}).cache,h.push(new Uint8Array(i)),this.state!==E.STOPPED&&(this.state=E.WAITING_INIT_PTS))}else this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start)}else this.warn("Audio track is undefined on fragment load progress")}else this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`)}_handleFragmentLoadComplete(e){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;t=t.tracks.audio;t&&(this.mediaBuffer=t.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===nn&&ln(t.frag)&&(this.mainFragLoading=t,this.state===E.IDLE)&&this.tick()}onFragBuffered(e,t){var r,{frag:t,part:i}=t;t.type!==So?this.audioOnly||t.type!==nn||t.elementaryStreams.video||t.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null):this.fragContextChanged(t)?this.warn(`Fragment ${t.sn}${i?" p: "+i.index:""} of level ${t.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: `+(this.switchingTrack?this.switchingTrack.name:"false")):(ln(t)&&(this.fragPrevious=t,r=this.switchingTrack)&&(this.bufferedTrack=r,this.switchingTrack=null,this.hls.trigger(X.AUDIO_TRACK_SWITCHED,on({},r))),this.fragBufferedComplete(t,i),this.media&&this.tick())}onError(e,t){var r;if(t.fatal)this.state=E.ERROR;else switch(t.details){case q.FRAG_GAP:case q.FRAG_PARSING_ERROR:case q.FRAG_DECRYPT_ERROR:case q.FRAG_LOAD_ERROR:case q.FRAG_LOAD_TIMEOUT:case q.KEY_LOAD_ERROR:case q.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(So,t);break;case q.AUDIO_TRACK_LOAD_ERROR:case q.AUDIO_TRACK_LOAD_TIMEOUT:case q.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==E.WAITING_TRACK||(null==(r=t.context)?void 0:r.type)!==Eo||(this.state=E.IDLE);break;case q.BUFFER_ADD_CODEC_ERROR:case q.BUFFER_APPEND_ERROR:"audio"!==t.parent||this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case q.BUFFER_FULL_ERROR:"audio"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case q.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==Vo&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){var r;t!==Vo&&(this.flushing=!1,this.bufferFlushed=!0,this.state===E.ENDED&&(this.state=E.IDLE),r=this.mediaBuffer||this.media)&&(this.afterBufferFlushed(r,t,So),this.tick())}_handleTransmuxComplete(e){var t=this.hls,{remuxResult:e,chunkMeta:r}=e,i=this.getCurrentContext(r);if(i){var s,{frag:i,part:n,level:a}=i,o=a.details,{audio:e,text:l,id3:h,initSegment:d}=e;if(this.fragContextChanged(i)||!o)this.fragmentTracker.removeFragment(i);else{if(this.state=E.PARSING,this.switchingTrack&&e&&this.completeAudioSwitch(this.switchingTrack),null!=d&&d.tracks){var c=i.initSegment||i;if(this.unhandledEncryptionError(d,i))return;this._bufferInitSegment(a,d.tracks,c,r),t.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:c,id:"audio",tracks:d.tracks})}e&&({startPTS:a,endPTS:c,startDTS:d,endDTS:s}=e,n&&(n.elementaryStreams[$o]={startPTS:a,endPTS:c,startDTS:d,endDTS:s}),i.setElementaryStreamInfo($o,a,c,d,s),this.bufferFragmentData(e,i,n,r)),null!=h&&null!=(a=h.samples)&&a.length&&(c=an({id:"audio",frag:i,details:o},h),t.trigger(X.FRAG_PARSING_METADATA,c)),l&&(d=an({id:"audio",frag:i,details:o},l),t.trigger(X.FRAG_PARSING_USERDATA,d))}}else this.resetWhenMissingContext(r)}_bufferInitSegment(e,t,r,i){var s;this.state===E.PARSING&&(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,t.audio)&&((s=t.audio).id=So,e=e.audioCodec,this.log(`Init audio buffer, container:${s.container}, codecs[level/parsed]=[${e}/${s.codec}]`),e&&1===e.split(",").length&&(s.levelCodec=e),this.hls.trigger(X.BUFFER_CODECS,t),null!=(e=s.initSegment)&&e.byteLength&&(t={type:"audio",frag:r,part:null,chunkMeta:i,parent:r.type,data:e},this.hls.trigger(X.BUFFER_APPENDING,t)),this.tickImmediate())}loadFragment(e,t,r){var i=this.fragmentTracker.getState(e);this.switchingTrack||i===rh||i===sh?ln(e)?null!=(i=t.details)&&i.live&&!this.initPTS[e.cc]?(this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level `+this.trackId),this.state=E.WAITING_INIT_PTS,(i=this.mainDetails)&&i.fragmentStart!==t.details.fragmentStart&&ad(t.details,i)):super.loadFragment(e,t,r):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){var t,r,i,s,n,a;this.media&&this.bufferedTrack&&({name:t,lang:r,assocLang:i,characteristics:s,audioCodec:n,channels:a}=this.bufferedTrack,Pl({name:t,lang:r,assocLang:i,characteristics:s,audioCodec:n,channels:a},e,Dl)||(Ol(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e))}completeAudioSwitch(e){var t=this.hls;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(X.AUDIO_TRACK_SWITCHED,on({},e))}}class Cp extends Vf{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(i,s,t){var n=null==s?void 0:s.renditionReports;if(n){let r=-1;for(let e=0;es.partTarget&&(e+=1);o=t&&Al(t);return new Kf(l,0<=e?e:void 0,o)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}return e}playlistLoaded(s,n,a){var{details:o,stats:e}=n,l=self.performance.now(),h=e.loading.first?Math.max(0,l-e.loading.first):0,d=(o.advancedDateTime=Date.now()-h,this.hls.config.timelineOffset);if(d!==o.appliedTimelineOffset){let t=Math.max(d||0,0);o.appliedTimelineOffset=t,o.fragments.forEach(e=>{e.setStart(e.playlistOffset+t)})}if(o.live||null!=a&&a.live){d="levelInfo"in n?n.levelInfo:n.track;if(o.reloaded(a),a&&03*o.targetduration?(this.log(`Playlist last advanced ${u.toFixed(2)}s ago. Omitting segment and part directives.`),r=void 0,i=void 0):null!=a&&a.tuneInGoal&&p-o.partTarget>a.tuneInGoal?(this.warn(`CDN Tune-in goal increased from: ${a.tuneInGoal} to: ${e} with playlist age: `+o.age),e=0):(s=Math.floor(e/o.targetduration),r+=s,void 0!==i&&(p=Math.round(e%o.targetduration/o.partTarget),i+=p),this.log(`CDN Tune-in age: ${o.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${e} skip sn ${s} to part `+i)),o.tuneInGoal=e),t=this.getDeliveryDirectives(o,n.deliveryDirectives,r,i),c||!g)return o.requestScheduled=l,void this.loadingPlaylist(d,t)}else(o.canBlockReload||o.canSkipUntil)&&(t=this.getDeliveryDirectives(o,n.deliveryDirectives,r,i));t&&void 0!==r&&o.canBlockReload&&(o.requestScheduled=e.loading.first+Math.max(f-2*h,f/2)),this.scheduleLoading(d,t,o)}}else this.clearTimer()}scheduleLoading(e,t,r){var i,r=r||e.details;!r||(i=self.performance.now(),(r=r.requestScheduled)<=i)?this.loadingPlaylist(e,t):(r=r-i,this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(r)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),r))}getDeliveryDirectives(e,t,r,i){let s=Al(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,i=t.part,s=Tl),new Kf(r,i,s)}checkRetry(e){var t=e.details,r=Bl(e),i=e.errorAction,{action:s,retryCount:n=0,retryConfig:a}=i||{},s=!!i&&!!a&&(s===Xl||!i.resolved&&s===Wl);if(s){if(n>=a.maxNumRetry)return!1;r&&null!=(r=e.context)&&r.deliveryDirectives?(this.warn(`Retrying playlist loading ${n+1}/${a.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist()):(r=jl(a,n),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),r),this.warn(`Retrying playlist loading ${n+1}/${a.maxNumRetry} after "${t}" in ${r}ms`)),e.levelRetry=!0,i.resolved=!0}return s}}function rc(t,r){if(t.length!==r.length)return!1;for(let e=0;et[e]!==r[e])}function sc(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class Pp extends Cp{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){var r,{id:i,groupId:s,details:n}=t,a=this.tracksInGroup[i];a&&a.groupId===s?(r=a.details,a.details=t.details,this.log(`Audio track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,r)):this.warn(`Audio track with id:${i} and group:${s} not found in active group `+(null==a?void 0:a.groupId))}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(s){s=this.hls.levels[s];if(s){let t=s.audioGroups||null,r=this.groupIds,i=this.currentTrack;if(!t||(null==r?void 0:r.length)!==(null==t?void 0:t.length)||null!=t&&t.some(e=>-1===(null==r?void 0:r.indexOf(e)))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;s=this.tracks.filter(e=>!t||-1!==t.indexOf(e.groupId));if(s.length)this.selectDefaultTrack&&!s.some(e=>e.default)&&(this.selectDefaultTrack=!1),s.forEach((e,t)=>{e.id=t});else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=s;var n=this.hls.config.audioPreference;!i&&n&&(a=Cl(n,s,Dl),i=-1{var n=e[t],a=e.reduce((e,t,r)=>{t=t.uri;return(e[t]||(e[t]=[])).push(r),e},{})[n.uri];1{if(e.videoRange!==o||e.frameRate!==l||e.codecSet.substring(0,4)!==h)return!1;let t=e.audioGroups;e=i.filter(e=>!t||-1!==t.indexOf(e.groupId));return-1{let t=e.audioGroups;e=i.filter(e=>!t||-1!==t.indexOf(e.groupId));return-1=i.length?this.warn("Invalid audio track id: "+e):(this.selectDefaultTrack=!1,t=this.currentTrack,r=(i=i[e]).details&&!i.details.live,e===this.trackId&&i===t&&r||(this.log(`Switching to audio-track ${e} "${i.name}" lang:${i.lang} group:${i.groupId} channels:`+i.channels),this.trackId=e,this.currentTrack=i,this.hls.trigger(X.AUDIO_TRACK_SWITCHING,on({},i)),r)||(e=this.switchParams(i.url,null==t?void 0:t.details,i.details),this.loadPlaylist(e)))}findTrackId(t){var r=this.tracksInGroup;for(let e=0;e{this.append({label:"async-blocker",execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}},t)})}prependBlocker(t){return new Promise(e=>{this.queues&&this.queues[t].unshift({label:"async-blocker-prepend",execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t=null==(t=e[0])?void 0:t.label;"async-blocker"!==t&&"async-blocker-prepend"!==t||(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null!==this.queues&&this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(t){if(null!==this.queues&&null!==this.tracks){var r=this.queues[t];if(r.length){var r=r[0];try{r.execute()}catch(e){r.onError(e),null===this.queues||null===this.tracks||null!=(r=null==(r=this.tracks[t])?void 0:r.buffer)&&r.updating||this.shiftAndExecuteNext(t)}}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){var{queues:e,tracks:t}=this;return null===e||null===t?"":` ${this.list("video")} ${this.list("audio")} ${this.list("audiovideo")}}`}list(e){var t;return null!=(t=this.queues)&&t[e]||null!=(t=this.tracks)&&t[e]?`${e}: (${this.listSbInfo(e)}) `+this.listOps(e):""}listSbInfo(e){var t=null==(t=this.tracks)?void 0:t[e],e=null==t?void 0:t.buffer;return e?"SourceBuffer"+(e.updating?" updating":"")+(t.ended?" ended":"")+(t.ending?" ending":""):"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let Gi=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,ji="HlsJsTrackRemovedError";class xp extends Error{constructor(e){super(e),this.name=ji}}class Op extends Vf{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&"open"===(null==(t=this.mediaSource)?void 0:t.readyState)&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{var{media:t,mediaSource:r}=this;e&&this.log("Media source opened"),t&&r&&(r.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(X.MEDIA_ATTACHED,{media:t,mediaSource:r}),null!==this.mediaSource)&&this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{var{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=(t=Io(e.config.preferManagedMediaSource),"undefined"!=typeof self&&t===self.ManagedMediaSource),this.initTracks(),this.registerListeners()}hasSourceTypes(){return 0{var[t]=e;t&&(i[t]=an({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:t,mediaSource:r,tracks:i}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r,i=2;(!t.audio||t.video)&&t.altAudio||(i=1),this.bufferCodecEventsTotal=i,this.log(i+" bufferCodec event(s) expected."),null!=(r=this.transferData)&&r.mediaSource&&this.sourceBufferCount&&i&&this.bufferCreated()}onMediaAttaching(e,t){var r,i,s,n=this.media=t.media,a=(this.transferData=this.overrides=void 0,Io(this.appendSource));if(a){var o=!!t.mediaSource,t=((o||t.overrides)&&(this.transferData=t,this.overrides=t.overrides),this.mediaSource=t.mediaSource||new a);if(this.assignMediaSource(t),o)this._objectUrl=n.src,this.attachTransferred();else{a=this._objectUrl=self.URL.createObjectURL(t);if(this.appendSource)try{n.removeAttribute("src");var l=self.ManagedMediaSource;n.disableRemotePlayback=n.disableRemotePlayback||l&&t instanceof l,nc(n),r=n,i=a,(s=self.document.createElement("source")).type="video/mp4",s.src=i,r.appendChild(s),n.load()}catch(e){n.src=a}else n.src=a}n.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"} media source: `+(null==(t=e.constructor)?void 0:t.name)),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){var e=this.media,t=this.transferData;if(t&&e){var r=this.tracks;let a=t.tracks;var i,s=a?Object.keys(a):null,n=s?s.length:0,o=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(a&&s&&n)if(this.tracksReady){if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) required tracks: ${$(r,(e,t)=>"initSegment"===e?void 0:t)}; transfer tracks: ${$(a,(e,t)=>"initSegment"===e?void 0:t)}}`),!Ro(a,r))return t.mediaSource=null,t.tracks=void 0,n=e.currentTime,i=this.details,1<(i=Math.max(n,(null==i?void 0:i.fragments[0].start)||0))-n?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${n} -> `+i):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(a)}"->"${Object.keys(r)}") start time: ${i} currentTime: `+n),this.onMediaDetaching(X.MEDIA_DETACHING,{}),this.onMediaAttaching(X.MEDIA_ATTACHING,t),void(e.currentTime=i));this.transferData=void 0,s.forEach(e=>{var t,r,i,s,n=a[e];n&&(t=n.buffer)&&(r=this.fragmentTracker,i=n.id,(r.hasFragments(i)||r.hasParts(i))&&(s=Tn.getBuffered(t),r.detectEvictedFragments(e,s,i,null,!0)),this.sourceBuffers[ac(e)]=[e,t],t.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,n))}),o(),this.bufferCreated()}else this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");else this.log("attachTransferred: MediaSource w/o SourceBuffers"),o()}}get mediaSourceOpenOrEnded(){var e=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===e||"ended"===e}onMediaDetaching(e,t){var r=!!t.transferMedia,{media:i,mediaSource:s,_objectUrl:n}=(this.transferData=this.overrides=void 0,this);if(s){if(this.log("media source "+(r?"transferring":"detaching")),r)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){var a="open"===s.readyState;try{var o=s.sourceBuffers;for(let e=o.length;e--;)a&&o[e].abort(),s.removeSourceBuffer(o[e]);a&&s.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}s.removeEventListener("sourceopen",this._onMediaSourceOpen),s.removeEventListener("sourceended",this._onMediaSourceEnded),s.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(s.removeEventListener("startstreaming",this._onStartStreaming),s.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}i&&(i.removeEventListener("emptied",this._onMediaEmptied),r||(n&&self.URL.revokeObjectURL(n),this.mediaSrc===n?(i.removeAttribute("src"),this.appendSource&&nc(i),i.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(X.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(t){var e,r=null==(r=this.tracks[t])?void 0:r.buffer;if(this.removeBuffer(t),r)try{null!=(e=this.mediaSource)&&e.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(r)}catch(e){this.warn("onBufferReset "+t,e)}delete this.tracks[t]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[ac(e)]=[null,null];e=this.tracks[e];e&&(e.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new Dp(this.tracks)}onBufferCodecs(e,c){let t,u=this.tracks;var r=Object.keys(c),i=(this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`),"audiovideo"in c&&(u.audio||u.video)||u.audiovideo&&("audio"in c||"video"in c)),s=!i&&this.sourceBufferCount&&this.media&&r.some(e=>!u[e]);i||s?this.warn(`Unsupported transition between "${Object.keys(u)}" and "${r}" SourceBuffers`):(r.forEach(e=>{var{id:t,codec:r,levelCodec:i,container:s,metadata:n,supplemental:a}=c[e];let o=u[e];var l=null==(l=this.transferData)||null==(l=l.tracks)?void 0:l[e],l=null!=l&&l.buffer?l:o,h=(null==l?void 0:l.pendingCodec)||(null==l?void 0:l.codec),l=null==l?void 0:l.levelCodec,a=(o=o||(u[e]={buffer:void 0,listeners:[],codec:r,supplemental:a,container:s,levelCodec:i,metadata:n,id:t}),pl(h,l)),n=null==a?void 0:a.replace(Gi,"$1");let d=pl(r,i);l=null==(t=d)?void 0:t.replace(Gi,"$1");d&&a&&n!==l&&("audio"===e.slice(0,5)&&(d=fl(d,this.appendSource)),this.log(`switching codec ${h} to `+d),d!==(o.pendingCodec||o.codec)&&(o.pendingCodec=d),o.container=s,this.appendChangeType(e,s,d))}),(this.tracksReady||this.sourceBufferCount)&&(c.tracks=this.sourceBufferTracks),this.sourceBufferCount||(1{var r=this.tracks[t];return e[t]={id:r.id,container:r.container,codec:r.codec,levelCodec:r.levelCodec},e},{})}appendChangeType(r,i,s){let n=i+";codecs="+s;var e={label:"change-type="+n,execute:()=>{var e,t=this.tracks[r];t&&null!=(e=t.buffer)&&e.changeType&&(this.log(`changing ${r} sourceBuffer type to `+n),e.changeType(n),t.codec=s,t.container=i),this.shiftAndExecuteNext(r)},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn(`Failed to change ${r} SourceBuffer type`,e)}};this.append(e,r,this.isPending(this.tracks[r]))}blockAudio(e){var t=e.start;let r=t+.05*e.duration;!0!==(null==(t=this.fragmentTracker.getAppendedFrag(t,nn))?void 0:t.gap)&&(this.blockedAudioAppend={op:t={label:"block-audio",execute:()=>{var e=this.tracks.video;(this.lastVideoAppendEnd>r||null!=e&&e.buffer&&Tn.isBuffered(e.buffer,r)||!0===(null==(e=this.fragmentTracker.getAppendedFrag(r,nn))?void 0:e.gap))&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}},frag:e},this.append(t,"audio",!0))}unblockAudio(){var{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){var r=this.tracks;let{data:i,type:s,parent:n,frag:a,part:o,chunkMeta:l,offset:h}=t,d=l.buffering[s],{sn:c,cc:u}=a;t=self.performance.now();d.start=t;let f=a.stats.buffering,p=o?o.stats.buffering:null;0===f.start&&(f.start=t),p&&0===p.start&&(p.start=t);t=r.audio;let g=!1;"audio"===s&&"audio/mpeg"===(null==t?void 0:t.container)&&(g=!this.lastMpegAudioChunk||1===l.id||this.lastMpegAudioChunk.sn!==l.sn,this.lastMpegAudioChunk=l);var m,v,y,t=r.video,r=null==t?void 0:t.buffer;r&&"initSegment"!==c&&(m=o||a,v=this.blockedAudioAppend,"audio"!==s||"main"===n||this.blockedAudioAppend||t.ending||t.ended?"video"===s&&(t=m.end,v&&((v=v.frag.start){d.executeStart=self.performance.now();var e=null==(e=this.tracks[s])?void 0:e.buffer;e&&(g?this.updateTimestampOffset(e,b,.1,s,c,u):void 0!==h&&j(h)&&this.updateTimestampOffset(e,h,1e-6,s,c,u)),this.appendExecutor(i,s)},onStart:()=>{},onComplete:()=>{var e=self.performance.now();d.executeEnd=d.end=e,0===f.first&&(f.first=e),p&&0===p.first&&(p.first=e);let r={};this.sourceBuffers.forEach(([e,t])=>{e&&(r[e]=Tn.getBuffered(t))}),this.appendErrors[s]=0,"audio"===s||"video"===s?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(X.BUFFER_APPENDED,{type:s,frag:a,part:o,chunkMeta:l,parent:a.type,timeRanges:r})},onError:e=>{var t={type:W.MEDIA_ERROR,parent:a.type,details:q.BUFFER_APPEND_ERROR,sourceBufferName:s,frag:a,part:o,chunkMeta:l,error:e,err:e,fatal:!1},r=null==(r=this.media)?void 0:r.error;e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e?t.details=q.BUFFER_FULL_ERROR:e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!r||e.name===ji&&0===this.sourceBufferCount?t.errorAction=th(!0):(e=++this.appendErrors[s],this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${s}" sourceBuffer (${r||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||r)&&(t.fatal=!0)),this.hls.trigger(X.ERROR,t)}};this.log(`queuing "${s}" append sn: ${c}${o?" p: "+o.index:""} of ${a.type===nn?"level":"track"} ${a.level} cc: `+u),this.append(t,s,this.isPending(this.tracks[s]))}getFlushOp(t,r,i){return this.log(`queuing "${t}" remove ${r}-`+i),{label:"remove",execute:()=>{this.removeExecutor(t,r,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(X.BUFFER_FLUSHED,{type:t})},onError:e=>{this.warn(`Failed to remove ${r}-${i} from "${t}" SourceBuffer`,e)}}}onBufferFlushing(e,t){let{type:r,startOffset:i,endOffset:s}=t;r?this.append(this.getFlushOp(r,i,s),r):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,i,s),e)})}onFragParsed(e,t){let{frag:r,part:i}=t;var t=[],s=(i||r).elementaryStreams;s[Go]?t.push("audiovideo"):(s[$o]&&t.push("audio"),s[Vo]&&t.push("video"));0===t.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: `+r.sn),this.blockBuffers(()=>{var e=self.performance.now(),e=(r.stats.buffering.end=e,i&&(i.stats.buffering.end=e),(i||r).stats);this.hls.trigger(X.FRAG_BUFFERED,{frag:r,part:i,stats:e,id:r.type})},t).catch(e=>{this.warn("Fragment buffered callback "+e),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return 0{if(e){e=this.tracks[e];if(e)return!e.ended||e.ending}return!1})}onBufferEos(e,r){this.sourceBuffers.forEach(([e])=>{var t;e&&(t=this.tracks[e],r.type&&r.type!==e||(t.ending=!0,t.ended)||(t.ended=!0,this.log(e+" buffer reached EOS")))});var t=!1!==(null==(t=this.overrides)?void 0:t.endOfStream);0e&&!(null!=(e=this.tracks[e])&&e.ended))?t?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();var e=this.mediaSource;e&&"open"===e.readyState?(this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(X.BUFFERED_TO_END,void 0)):e&&this.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)})):(this.tracksEnded(),this.hls.trigger(X.BUFFERED_TO_END,void 0)):"video"===r.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{null!==e&&(e=this.tracks[e])&&(e.ending=!1)})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{var e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){var r;t.details===q.BUFFER_APPEND_ERROR&&t.frag&&(r=null==(r=t.errorAction)?void 0:r.nextAutoLevel,j(r))&&r!==t.frag.level&&this.resetAppendErrors()}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){var e,{hls:t,details:r,media:i}=this;i&&null!==r&&this.sourceBufferCount&&(t=t.config,i=i.currentTime,e=r.levelTargetDuration,r=r.live&&null!==t.liveBackBufferLength?t.liveBackBufferLength:t.backBufferLength,j(r)&&0<=r&&(r=Math.max(r,e),r=Math.floor(i/e)*e-r,this.flushBackBuffer(i,e,r)),r=t.frontBufferFlushThreshold,j(r))&&0{if(t){t=Tn.getBuffered(t);if(0t.start(0)){this.hls.trigger(X.BACK_BUFFER_REACHED,{bufferEnd:i});var r,t=this.tracks[e];if(null!=(r=this.details)&&r.live)this.hls.trigger(X.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:e})}}})}flushFrontBuffer(s,e,n){this.sourceBuffers.forEach(([e,t])=>{var r,i;!t||(r=(t=Tn.getBuffered(t)).length)<2||(i=t.start(r-1),t=t.end(r-1),i=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){var{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:r}=this;this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) `+$(r)),this.tracksReady&&((e=null==(t=this.transferData)?void 0:t.tracks)&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers())}bufferCreated(){if(this.sourceBufferCount){let i={};this.sourceBuffers.forEach(([e,t])=>{var r;e&&(r=this.tracks[e],i[e]={buffer:t,container:r.container,codec:r.codec,supplemental:r.supplemental,levelCodec:r.levelCodec,id:r.id,metadata:r.metadata})}),this.hls.trigger(X.BUFFER_CREATED,{tracks:i}),this.log("SourceBuffers created. Running queue: "+this.operationQueue),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{var e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){var e,{tracks:t,sourceBuffers:r,mediaSource:i}=this;if(!i)throw new Error("createSourceBuffers called when mediaSource was null");for(e in t){var s=e,n=t[s];if(this.isPending(n)){var a=this.getTrackCodec(n,s),o=n.container+";codecs="+a;n.codec=a,this.log(`creating sourceBuffer(${o})${this.currentOp(s)?" Queued":""} `+$(n));try{var l=i.addSourceBuffer(o),h=[s,l];r[ac(s)]=h,n.buffer=l}catch(e){return this.error("error while trying to add sourceBuffer: "+e.message),this.shiftAndExecuteNext(s),null!=(a=this.operationQueue)&&a.removeBlockers(),delete this.tracks[s],void this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:s,mimeType:o,parent:n.id})}this.trackSourceBuffer(s,n)}}this.bufferCreated()}getTrackCodec(e,t){var r=e.supplemental;let i=e.codec;r=pl(i=r&&("video"===t||"audiovideo"===t)&&ll(r,"video")?((e,t)=>{var r=[];if(e){var i=e.split(",");for(let e=0;e{t=t.removedRanges;null!=t&&t.length&&this.hls.trigger(X.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==t?void 0:t.src}onSBUpdateStart(e){e=this.currentOp(e);e&&e.onStart()}onSBUpdateEnd(e){var t;"closed"===(null==(t=this.mediaSource)?void 0:t.readyState)?this.resetBuffer(e):(t=this.currentOp(e))&&(t.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var r=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(r=this.mediaSource)?void 0:r.readyState)),t=(this.error(""+r,t),this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1}),this.currentOp(e));t&&t.onError(r)}updateTimestampOffset(e,t,r,i,s,n){var a=t-e.timestampOffset;Math.abs(a)>=r&&(this.log(`Updating ${i} SourceBuffer timestampOffset to ${t} (sn: ${s} cc: ${n})`),e.timestampOffset=t)}removeExecutor(e,t,r){var{media:i,mediaSource:s}=this,n=this.tracks[e],a=null==n?void 0:n.buffer;i&&s&&a?(i=j(i.duration)?i.duration:1/0,s=j(s.duration)?s.duration:1/0,(t=Math.max(0,t))<(r=Math.min(r,i,s))&&(!n.ending||n.ended)?(n.ended=!1,this.log(`Removing [${t},${r}] from the ${e} SourceBuffer`),a.remove(t,r)):this.shiftAndExecuteNext(e)):(this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e))}appendExecutor(e,t){var r=this.tracks[t],i=null==r?void 0:r.buffer;if(!i)throw new xp(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);r.ending=!1,r.ended=!1,i.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn("SourceBuffer blocked callback "+e),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} `+e)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(t,e=this.sourceBufferTypes){if(!e.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(t);let r=this.operationQueue;var i=e.map(e=>this.appendBlocker(e));return 1{r===this.operationQueue&&(t(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t=null==(t=this.tracks[e])?void 0:t.buffer;t&&!t.updating&&this.shiftAndExecuteNext(e)})}append(e,t,r){this.operationQueue&&this.operationQueue.append(e,t,r)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+(this.isPending(this.tracks[t])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,r){var i,s=this.tracks[e];s&&(i=s.buffer)&&(r=r.bind(this,e),s.listeners.push({event:t,listener:r}),i.addEventListener(t,r))}removeBufferListeners(e){e=this.tracks[e];if(e){let t=e.buffer;t&&(e.listeners.forEach(e=>{t.removeEventListener(e.event,e.listener)}),e.listeners.length=0)}}}function nc(t){var e=t.querySelectorAll("source");[].slice.call(e).forEach(e=>{t.removeChild(e)})}function ac(e){return"audio"===e?1:0}class Mp{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){var e=this.hls;e.on(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.BUFFER_CODECS,this.onBufferCodecs,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){var e=this.hls;e.off(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){t=this.hls.levels[t.droppedLevel];this.isLevelAllowed(t)&&this.restrictedLevels.push({bitrate:t.bitrate,height:t.height,width:t.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){var r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&j(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){var e,t,r;this.media&&(this.mediaHeight<=0||this.mediaWidth<=0?this.clientRect=null:(e=this.hls.levels).length&&(t=this.hls,(r=this.getMaxLevel(e.length-1))!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x`+this.mediaHeight),t.autoLevelCapping=r,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping))}getMaxLevel(r){var e=this.hls.levels;return e.length?(e=e.filter((e,t)=>this.isLevelAllowed(e)&&t<=r),this.clientRect=null,Mp.getMaxLevelByMediaSize(e,this.mediaWidth,this.mediaHeight)):-1}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){var e,t,r;return this.clientRect||(t={width:0,height:0},(e=this.media)&&(r=e.getBoundingClientRect(),t.width=r.width,t.height=r.height,t.width||t.height||(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)),this.clientRect=t)}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(t){return!this.restrictedLevels.some(e=>t.bitrate===e.bitrate&&t.width===e.width&&t.height===e.height)}static getMaxLevelByMediaSize(t,e,r){if(null==t||!t.length)return-1;let i=t.length-1;var s,n=Math.max(e,r);for(let e=0;e=n||a.height>=n)&&(a=a,!(s=t[e+1])||a.width!==s.width||a.height!==s.height)){i=e;break}}return i}}let _={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},Hi={HLS:"h"};class Fp{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof Fp?e:new Fp(e))),this.value=e,this.params=t}}let zi="Dict";function oc(e,t,r,i){return new Error(`failed to ${e} "${e=t,Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as `+r,{cause:i})}function lc(e,t,r){return oc("serialize",e,t,r)}class Np{constructor(e){this.description=e}}let Ki="Bare Item",Yi="Boolean",Wi="Byte Sequence";function hc(e){if(!1===ArrayBuffer.isView(e))throw lc(e,Wi);return`:${e=e,btoa(String.fromCharCode(...e))}:`}let qi="Integer";function dc(e){if((t=e)<-999999999999999||999999999999999!0===t?";"+pc(e):`;${pc(e)}=`+fc(t)).join("")}function mc(e){return e instanceof Fp?""+fc(e.value)+gc(e.params):fc(e)}function vc(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw lc(e,zi);e=e instanceof Map?e.entries():Object.entries(e),t=null!=t&&t.whitespace?" ":"";return Array.from(e).map(([e,t])=>{t instanceof Fp==!1&&(t=new Fp(t));let r=pc(e);return!0===t.value?r+=gc(t.params):(r+="=",Array.isArray(t.value)?r+=`(${(e=t).value.map(mc).join(" ")})`+gc(e.params):r+=mc(t)),r}).join(","+t)}function yc(e,t){return vc(e,t)}let ts={br:Ws="CMCD-Object",ab:Ws,d:Ws,ot:Ws,tb:Ws,tpb:Ws,lb:Ws,tab:Ws,lab:Ws,url:Ws,pb:Ks="CMCD-Request",bl:Ks,tbl:Ks,dl:Ks,ltc:Ks,mtp:Ks,nor:Ks,nrr:Ks,rc:Ks,sn:Ks,sta:Ks,su:Ks,ttfb:Ks,ttfbb:Ks,ttlb:Ks,cmsdd:Ks,cmsds:Ks,smrt:Ks,df:Ks,cs:Ks,ts:Ks,cid:pn="CMCD-Session",pr:pn,sf:pn,sid:pn,st:pn,v:pn,msd:pn,bs:Ys="CMCD-Status",bsd:Ys,cdn:Ys,rtp:Ys,bg:Ys,pt:Ys,ec:Ys,e:Ys},rs={REQUEST:Ks};function bc(s,e){var t={};if(!s)return t;var i,r=Object.keys(s);let n=e?(i=e,Object.keys(i).reduce((t,r)=>{var e;return null!=(e=i[r])&&e.forEach(e=>t[e]=r),t},{})):{};return r.reduce((e,t)=>{var r,i=ts[t]||n[t]||rs.REQUEST;return(null!=(r=e[i])?r:e[i]={})[t]=s[t],e},t)}let is="event",ss=e=>Math.round(e),ns=(e,t)=>Array.isArray(e)?e.map(e=>ns(e,t)):e instanceof Fp&&"string"==typeof e.value?new Fp(ns(e.value,t),e.params):(t.baseUrl&&(e=((e,t)=>{var r=new URL(e),t=new URL(t);if(r.origin!==t.origin)return e;for(var i=r.pathname.split("/").slice(1),s=t.pathname.split("/").slice(1,-1);i[0]===s[0];)i.shift(),s.shift();for(;s.length;)s.shift(),i.unshift("..");return i.join("/")+r.search+r.hash})(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e),as=(Hs=e=>100*ss(e/100),{br:ss,d:ss,bl:Hs,dl:Hs,mtp:Hs,nor:(e,t)=>{let r=e;return 2<=t.version&&(e instanceof Fp&&"string"==typeof e.value?r=new Fp([e]):"string"==typeof e&&(r=[e])),ns(r,t)},rtp:Hs,tb:ss}),os="request",ls="response",hs=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],ds=["e"],cs=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function Ec(e){return cs.test(e)}let us=["d","dl","nor","ot","rtp","su"],fs=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],ps=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function Tc(e){return ps.includes(e)||Ec(e)}let gs={[ls]:function(e){return hs.includes(e)||us.includes(e)||fs.includes(e)||Ec(e)},[is]:function(e){return hs.includes(e)||ds.includes(e)||Ec(e)},[os]:function(e){return hs.includes(e)||us.includes(e)||Ec(e)}};function Sc(o,t={}){let l={};if(null!=o&&"object"==typeof o){let i=t.version||o.v||1;var r=t.reportingMode||os,h=1===i?Tc:gs[r];let e=Object.keys(o).filter(h);h=t.filter;"function"==typeof h&&(e=e.filter(h));let s=r===ls||r===is,n=(s&&!e.includes("ts")&&e.push("ts"),1{let t=o[e];var r=n[e];if("function"==typeof r&&(t=r(t,a)),"v"===e){if(1===i)return;t=i}"pr"==e&&1===t||(s&&"ts"===e&&!j(t)&&(t=Date.now()),"number"==typeof(r=t)?!j(r):null==r||""===r||!1===r)||(["ot","sf","st","e","sta"].includes(e)&&"string"==typeof t&&(t=new Np(t)),l[e]=t)})}return l}function _c(e,t,r){an(e,([e,t={}]=[t,r],r={},e?(e=bc(Sc(e,t),null==t?void 0:t.customHeaderMap),Object.entries(e).reduce((e,[t,r])=>{r=yc(r,{whitespace:!1});return r&&(e[t]=r),e},r)):r))}let ms="CMCD";function Ac(e,t={}){return e?([e,t={}]=[e,t],e=e?yc(Sc(e,t),{whitespace:!1}):"",encodeURIComponent(e)):""}let vs=/CMCD=[^&#]+/;function wc(e,t,r){[t,r={}]=[t,r];r=t?(t=Ac(t,r),ms+"="+t):"";return r?vs.test(e)?e.replace(vs,r):(t=e.includes("?")?"&":"?",e+t+r):e}class Up extends Vf{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(0e!==t))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){t=t.contentSteering;null!==t&&(this.pathwayId=t.pathwayId,this.uri=t.uri,this.started)&&this.startLoad()}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,r){var i=r.errorAction;if((null==i?void 0:i.action)===Wl&&i.flags===Zl){var s,n,a,o=this.levels;let e=this._pathwayPriority,t=this.pathwayId;r.context&&({groupId:s,pathwayId:n,type:a}=r.context,s&&o?t=this.getPathwayForGroupId(s,a,t):n&&(t=n)),t in this.penalizedPathways||(this.penalizedPathways[t]=performance.now()),(e=!e&&o?this.pathways():e)&&1t===e.pathwayId)}updatePathwayPriority(t){this._pathwayPriority=t;let r=this.penalizedPathways,i=performance.now();Object.keys(r).forEach(e=>{3e5{let{ID:n,"BASE-ID":t,"URI-REPLACEMENT":a}=e;r.some(e=>e.pathwayId===n)||(e=this.getLevelsForPathway(t).map(t=>{var e=new Sn(t.attrs),r=(e["PATHWAY-ID"]=n,e.AUDIO&&e.AUDIO+"_clone_"+n),i=e.SUBTITLES&&e.SUBTITLES+"_clone_"+n,r=(r&&(o[e.AUDIO]=r,e.AUDIO=r),i&&(l[e.SUBTITLES]=i,e.SUBTITLES=i),kc(t.uri,e["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",a)),s=new Yf({attrs:e,audioCodec:t.audioCodec,bitrate:t.bitrate,height:t.height,name:t.name,url:r,videoCodec:t.videoCodec,width:t.width});if(t.audioGroups)for(let e=1;e{this.log(`Loaded steering manifest: "${o}"`);e=e.data;if(1!==(null==e?void 0:e.VERSION))this.log(`Steering VERSION ${e.VERSION} not supported!`);else{this.updated=performance.now(),this.timeToLoad=e.TTL;var{"RELOAD-URI":s,"PATHWAY-CLONES":n,"PATHWAY-PRIORITY":a}=e;if(s)try{this.uri=new self.URL(s,o).href}catch(e){return this.enabled=!1,void this.log("Failed to parse Steering Manifest RELOAD-URI: "+s)}this.scheduleRefresh(this.uri||r.url),n&&this.clonePathways(n);s={steeringManifest:e,url:o.toString()};this.hls.trigger(X.STEERING_MANIFEST_LOADED,s),a&&this.updatePathwayPriority(a)}},onError:(t,r,e,i)=>{if(this.log(`Error loading steering manifest: ${t.code} ${t.text} (${r.url})`),this.stopLoad(),410===t.code)this.enabled=!1,this.log(`Steering manifest ${r.url} no longer available`);else{let e=1e3*this.timeToLoad;429===t.code?("function"==typeof(null==(t=this.loader)?void 0:t.getResponseHeader)&&(t=t.getResponseHeader("Retry-After"))&&(e=1e3*parseFloat(t)),this.log(`Steering manifest ${r.url} rate limited`)):this.scheduleRefresh(this.uri||r.url,e)}},onTimeout:(e,t,r)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}};this.log("Requesting steering manifest: "+o),this.loader.load(t,r,e)}scheduleRefresh(t,e=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var e=null==(e=this.hls)?void 0:e.media;e&&!e.ended?this.loadSteeringManifest(t):this.scheduleRefresh(t,1e3*this.timeToLoad)},e)}}function Lc(t,i,s,n){t&&Object.keys(i).forEach(r=>{var e=t.filter(e=>e.groupId===r).map(e=>{var t=an({},e);return t.details=void 0,t.attrs=new Sn(t.attrs),t.url=t.attrs.URI=kc(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),t.groupId=t.attrs["GROUP-ID"]=i[r],t.attrs["PATHWAY-ID"]=n,t});t.push(...e)})}function kc(e,t,r,i){let{HOST:s,PARAMS:n,[r]:a}=i,o,l=(t&&(o=null==a?void 0:a[t])&&(e=o),new self.URL(e));return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(e=>{e&&l.searchParams.set(e,n[e])}),l.href}class Bp extends Vf{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=Bp.CDMCleanupPromise?[Bp.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=r=>{let{initDataType:d,initData:c}=r,u=`"${r.type}" event: init data type: "${d}"`;if(this.debug(u),null!==c){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);var t=(e=e.length?e:Ph(this.config)).map(Ch).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(e=>{e=Rh(e);if("sinf"!==d||e!==un.FAIRPLAY)this.log(`Ignoring "${r.type}" event with init data type: "${d}" for selected key-system `+e);else{let r;try{var t=hn(new Uint8Array(c)),s=Zo(Th(JSON.parse(t).sinf));if(!s)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");r=new Uint8Array(s.subarray(8,24))}catch(e){return void this.warn(u+" Failed to parse sinf: "+e)}var n=Po(r),{keyIdToKeySessionPromise:a,mediaKeySessions:o}=this;let i=a[n];for(let t=0;tthis.generateRequestWithPreferredKeySession(e,d,c,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}}i||this.handleError(new Error(`Key ID ${n} not encountered in playlist. Key-system sessions ${o.length}.`))}}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){this.hls.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(X.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(X.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){var{drmSystems:t,widevineLicenseUrl:r}=this.config,t=null==t?void 0:t[e];return t?t.licenseUrl:e===un.WIDEVINE&&r?r:void 0}getLicenseServerUrlOrThrow(e){var t=this.getLicenseServerUrl(e);if(void 0===t)throw new Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){var t=this.config.drmSystems,t=null==t?void 0:t[e];if(t)return t.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){var t=this.hls.levels,r=(e,t,r)=>!!e&&r.indexOf(e)===t;let a=t.map(e=>e.audioCodec).filter(r),o=t.map(e=>e.videoCodec).filter(r);return a.length+o.length===0&&o.push("avc1.42e01e"),new Promise((i,s)=>{let n=t=>{let r=t.shift();this.getMediaKeysPromise(r,a,o).then(e=>i({keySystem:r,mediaKeys:e})).catch(e=>{t.length?n(t):e instanceof $p?s(e):s(new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_NO_ACCESS,error:e,fatal:!0},e.message))})};n(e)})}requestMediaKeySystemAccess(e,t){var r=this.config.requestMediaKeySystemAccessFunc;if("function"==typeof r)return r(e,t);{let e="Configured requestMediaKeySystemAccess is not a function "+r;return null===gi&&"http:"===self.location.protocol&&(e="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(e))}}getMediaKeysPromise(s,e,t){e=((e,t,r,i)=>{let s;switch(e){case un.FAIRPLAY:s=["cenc","sinf"];break;case un.WIDEVINE:case un.PLAYREADY:s=["cenc"];break;case un.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}var n=s,a=i;return[n={initDataTypes:n,persistentState:a.persistentState||"optional",distinctiveIdentifier:a.distinctiveIdentifier||"optional",sessionTypes:a.sessionTypes||[a.sessionType||"temporary"],audioCapabilities:t.map(e=>({contentType:"audio/mp4; codecs="+e,robustness:a.audioRobustness||"",encryptionScheme:a.audioEncryptionScheme||null})),videoCapabilities:r.map(e=>({contentType:"video/mp4; codecs="+e,robustness:a.videoRobustness||"",encryptionScheme:a.videoEncryptionScheme||null}))}]})(s,e,t,this.config.drmSystemOptions||{});let r=this.keySystemAccessPromises[s],n=null==(t=r)?void 0:t.keySystemAccess;if(n)return n.then(()=>r.mediaKeys);{this.log(`Requesting encrypted media "${s}" key-system access with config: `+$(e)),n=this.requestMediaKeySystemAccess(s,e);let i=r=this.keySystemAccessPromises[s]={keySystemAccess:n};return n.catch(e=>{this.log(`Failed to obtain access to key-system "${s}": `+e)}),n.then(e=>{this.log(`Access for key-system "${e.keySystem}" obtained`);let r=this.fetchServerCertificate(s);this.log(`Create media-keys for "${s}"`);e=i.mediaKeys=e.createMediaKeys().then(t=>(this.log(`Media-keys created for "${s}"`),i.hasMediaKeys=!0,r.then(e=>e?this.setMediaKeysServerCertificate(t,s,e):t)));return e.catch(e=>{this.error(`Failed to create media-keys for "${s}"}: `+e)}),e})}}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Po(e.keyId||[])} keyUri: `+e.uri);var i=r.createSession(),e={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(e),e}renewKeySession(e){var t,r,i=e.decryptdata;i.pssh?(t=this.createMediaKeySessionContext(e),r=Ic(i),this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(t,"cenc",i.pssh.buffer,"expired")):this.warn("Could not renew expired session. Missing pssh initData."),this.removeSession(e)}updateKeySession(e,t){var r=e.mediaKeysSession;return this.log(`Updating key-session "${r.sessionId}" for keyId ${Po(e.decryptdata.keyId||[])} } (data length: ${t.byteLength})`),r.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>Ch(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((r,i)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{var t=Ch(e);t?r(t):i(new Error(`Unable to find format for key-system "${e}"`))}).catch(i)})}selectKeySystemFormat(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats `+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){let t=Ph(this.config);e=e.map(Rh).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(e)}getKeyStatus(t){var r=this.mediaKeySessions;for(let e=0;ee.keyId&&t.mediaKeysSession.keyStatuses.has(e.keyId)?t.mediaKeysSession.keyStatuses.get(e.keyId):e.matches(t.decryptdata)?t.keyStatus:void 0)(t,r[e]);if(i)return i}}loadKey(r){let i=r.keyInfo.decryptdata;var e=Ic(i),t=this.bannedKeyIds[e];if(t||"internal-error"===this.getKeyStatus(i))return t=Rc(t||"internal-error",i),this.handleError(t,r.frag),Promise.reject(t);let s=`(keyId: ${e} format: "${i.keyFormat}" method: ${i.method} uri: ${i.uri})`;this.log("Starting session for key "+s);var t=this.keyIdToKeySessionPromise[e];return t?(t.catch(e=>{var t;e instanceof $p&&(t=on({},e.data),"internal-error"===this.getKeyStatus(i)&&(t.decryptdata=i),t=new $p(t,e.message),this.handleError(t,r.frag))}),t):((t=this.getKeySystemForKeyPromise(i).then(({keySystem:e,mediaKeys:t})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${r.frag.sn} ${r.frag.type}: ${r.frag.level} using key `+s),this.attemptSetMediaKeys(e,t).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:e,mediaKeys:t,decryptdata:i}))))).then(e=>{var t=i.pssh?i.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",t,"playlist-key")})).catch(e=>this.handleError(e,r.frag)),this.keyIdToKeySessionPromise[e]=t)}throwIfDestroyed(e=0){if(!this.hls)throw new Error("invalid state")}handleError(e,t){this.hls&&(e instanceof $p?(t&&(e.data.frag=t),t=e.data.decryptdata,this.error(""+e.message+(t?` (${Po(t.keyId||[])})`:"")),this.hls.trigger(X.ERROR,e.data)):(this.error(e.message),this.hls.trigger(X.ERROR,{type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})))}getKeySystemForKeyPromise(e){var t=Ic(e),t=this.keyIdToKeySessionPromise[t];return t||(e=(t=Rh(e.keyFormat))?[t]:Ph(this.config),this.attemptKeySystemAccess(e))}getKeySystemSelectionPromise(e){if(0===(e=e.length?e:Ph(this.config)).length)throw new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+$({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaKeys===t)return Promise.resolve();let r=this.setMediaKeysQueue.slice(),i=(this.log(`Setting media-keys for "${e}"`),Promise.all(r).then(()=>{if(this.media)return this.media.setMediaKeys(t);throw this.mediaKeys=null,new Error("Attempted to set mediaKeys without media element attached")}));return this.mediaKeys=t,this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===r.indexOf(e))})}generateRequestWithPreferredKeySession(i,e,t,r){var s=null==(s=this.config.drmSystems)||null==(s=s[i.keySystem])?void 0:s.generateRequest;if(s)try{var n=s.call(this.hls,e,t,i);if(!n)throw new Error("Invalid response from configured generateRequest filter");e=n.initDataType,t=n.initData||null,i.decryptdata.pssh=t?new Uint8Array(t):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===t)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(i);let a=Ic(i.decryptdata),o=i.decryptdata.uri,l=(this.log(`Generating key-session request for "${r}" keyId: ${a} URI: ${o} (init data type: ${e} length: ${t.byteLength})`),new md);s=i._onmessage=e=>{var t,r=i.mediaKeysSession;r?({messageType:e,message:t}=e,this.log(`"${e}" message event for session "${r.sessionId}" message size: `+t.byteLength),"license-request"===e||"license-renewal"===e?this.renewLicense(i,t).catch(e=>{l.eventNames().length?l.emit("error",e):this.handleError(e)}):"license-release"===e?i.keySystem===un.FAIRPLAY&&this.updateKeySession(i,Sh("acknowledged")).then(()=>this.removeSession(i)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${e}"`)):l.emit("error",new Error("invalid state"))};let h=(e,t)=>{let r;(t.keyStatus=e).startsWith("usable")?l.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?r=Rc(e,t.decryptdata):"expired"===e?r=new Error(`key expired (keyId: ${a})`):"released"===e?r=new Error("key released"):"status-pending"!==e&&this.warn(`unhandled key status change "${e}" (keyId: ${a})`),r&&(l.eventNames().length?l.emit("error",r):this.handleError(r))};n=i._onkeystatuseschange=e=>{if(i.mediaKeysSession){let r=this.getKeyStatuses(i);if(Object.keys(r).some(e=>"status-pending"!==r[e]))if("expired"===r[a])this.log(`Expired key ${$(r)} in key-session "${i.mediaKeysSession.sessionId}"`),this.renewKeySession(i);else{let t=r[a];if(t)h(t,i);else{let e;i.keyStatusTimeouts||(i.keyStatusTimeouts={}),(e=i.keyStatusTimeouts)[a]||(e[a]=self.setTimeout(()=>{if(i.mediaKeysSession&&this.mediaKeys){var e=this.getKeyStatus(i.decryptdata);if(e&&"status-pending"!==e)return this.log(`No status for keyId ${a} in key-session "${i.mediaKeysSession.sessionId}". Using session key-status ${e} from other session.`),h(e,i);this.log(`key status for ${a} in key-session "${i.mediaKeysSession.sessionId}" timed out after 1000ms`),t="internal-error",h(t,i)}},1e3)),this.log(`No status for keyId ${a} (${$(r)}).`)}}}else l.emit("error",new Error("invalid state"))};od(i.mediaKeysSession,"message",s),od(i.mediaKeysSession,"keystatuseschange",n);let d=new Promise((e,t)=>{l.on("error",t),l.on("resolved",e)});return i.mediaKeysSession.generateRequest(e,t).then(()=>{this.log(`Request generated for key-session "${i.mediaKeysSession.sessionId}" keyId: ${a} URI: `+o)}).catch(e=>{throw new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_NO_SESSION,error:e,decryptdata:i.decryptdata,fatal:!1},"Error generating key-session request: "+e)}).then(()=>d).catch(e=>(l.removeAllListeners(),this.removeSession(i).then(()=>{throw e}))).then(()=>(l.removeAllListeners(),i))}getKeyStatuses(i){let s={};return i.mediaKeysSession.keyStatuses.forEach((e,t)=>{"string"==typeof t&&"object"==typeof e&&(r=t,t=e,e=r);var r="buffer"in t?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),t=(i.keySystem===un.PLAYREADY&&16===r.length&&_h(r),Po(r));"internal-error"===e&&(this.bannedKeyIds[t]=e),this.log(`key status change "${e}" for keyStatuses keyId: ${t} key-session "${i.mediaKeysSession.sessionId}"`),s[t]=e}),s}fetchServerCertificate(o){let r=this.config;let i=new r.loader(r),l=this.getServerCertificateUrl(o);return l?(this.log(`Fetching server certificate for "${o}"`),new Promise((s,n)=>{let a={responseType:"arraybuffer",url:l};var e=r.certLoadPolicy.default,e={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},t={onSuccess:(e,t,r,i)=>{s(e.data)},onError:(e,t,r,i)=>{n(new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:on({url:a.url,data:void 0},e)},`"${o}" certificate request failed (${l}). Status: ${e.code} (${e.text})`))},onTimeout:(e,t,r)=>{n(new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:a.url,data:void 0}},`"${o}" certificate request timed out (${l})`))},onAbort:(e,t,r)=>{n(new Error("aborted"))}};i.load(a,e,t)})):Promise.resolve()}setMediaKeysServerCertificate(i,s,n){return new Promise((t,r)=>{i.setServerCertificate(n).then(e=>{this.log(`setServerCertificate ${e?"success":"not supported by CDM"} (${n.byteLength}) on "${s}"`),t(i)}).catch(e=>{r(new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(t,e){return this.requestLicense(t,new Uint8Array(e)).then(e=>this.updateKeySession(t,new Uint8Array(e)).catch(e=>{throw new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:t.decryptdata,error:e,fatal:!1},e.message)}))}unpackPlayReadyKeyMessage(r,e){var t=String.fromCharCode.apply(null,new Uint16Array(e.buffer));if(!t.includes("PlayReadyKeyMessage"))return r.setRequestHeader("Content-Type","text/xml; charset=utf-8"),e;var e=(new DOMParser).parseFromString(t,"application/xml"),i=e.querySelectorAll("HttpHeader");if(0 in key message")}setupLicenseXHR(t,r,i,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(i.decryptdata)return n.call(this.hls,t,r,i,s);throw new Error("Key removed")}).catch(e=>{if(i.decryptdata)return t.open("POST",r,!0),n.call(this.hls,t,r,i,s);throw e}).then(e=>(t.readyState||t.open("POST",r,!0),{xhr:t,licenseChallenge:e||s})):(t.open("POST",r,!0),Promise.resolve({xhr:t,licenseChallenge:s}))}requestLicense(n,a){let o=this.config.keyLoadPolicy.default;return new Promise((r,e)=>{let i=this.getLicenseServerUrlOrThrow(n.keySystem),s=(this.log("Sending license request to URL: "+i),new XMLHttpRequest);s.responseType="arraybuffer",s.onreadystatechange=()=>{if(!this.hls||!n.mediaKeysSession)return e(new Error("invalid state"));if(4===s.readyState)if(200===s.status){this._requestLicenseFailureCount=0;let e=s.response;this.log("License received "+(e instanceof ArrayBuffer?e.byteLength:e));var t=this.config.licenseResponseCallback;if(t)try{e=t.call(this.hls,s,i,n)}catch(e){this.error(e)}r(e)}else{var t=o.errorRetry,t=t?t.maxNumRetry:0;this._requestLicenseFailureCount++,this._requestLicenseFailureCount>t||400<=s.status&&s.status<500?e(new $p({type:W.KEY_SYSTEM_ERROR,details:q.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:n.decryptdata,fatal:!0,networkDetails:s,response:{url:i,data:void 0,code:s.status,text:s.statusText}},`License Request XHR failed (${i}). Status: ${s.status} (${s.statusText})`)):(t=t-this._requestLicenseFailureCount+1,this.warn(`Retrying license request, ${t} attempts left`),this.requestLicense(n,a).then(r,e))}},n.licenseXhr&&n.licenseXhr.readyState!==XMLHttpRequest.DONE&&n.licenseXhr.abort(),n.licenseXhr=s,this.setupLicenseXHR(s,i,n,a).then(({xhr:e,licenseChallenge:t})=>{n.keySystem==un.PLAYREADY&&(t=this.unpackPlayReadyKeyMessage(e,t)),e.send(t)}).catch(e)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){this.config.emeEnabled&&(t=t.media,od(this.media=t,"encrypted",this.onMediaEncrypted),od(t,"waitingforkey",this.onWaitingForKey))}onMediaDetached(){var e=this.media;e&&(ld(e,"encrypted",this.onMediaEncrypted),ld(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){if(this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={},this.mediaKeys||this.mediaKeySessions.length){var t=this.media,r=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,op.clearKeyUriToKeyIdMap();let e=r.length;Bp.CDMCleanupPromise=Promise.all(r.map(e=>this.removeSession(e)).concat((null==t||null==(r=t.setMediaKeys(null))?void 0:r.catch(e=>{this.log("Could not clear media keys: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error("Could not clear media keys: "+e)})}))||Promise.resolve())).catch(e=>{this.log("Could not close sessions and clear media keys: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error("Could not close sessions and clear media keys: "+e)})}).then(()=>{e&&this.log("finished closing key sessions and clearing media keys")})}}onManifestLoading(){this.keyFormatPromise=null,this.bannedKeyIds={}}onManifestLoaded(e,{sessionKeys:t}){t&&this.config.emeEnabled&&(this.keyFormatPromise||(t=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]),this.log("Selecting key-system from session-keys "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)))}removeSession(e){let{mediaKeysSession:r,licenseXhr:i,decryptdata:s}=e;if(r){this.log(`Remove licenses and keys and close session "${r.sessionId}" keyId: `+Po((null==s?void 0:s.keyId)||[])),e._onmessage&&(r.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(r.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var n=this.mediaKeySessions.indexOf(e);-1self.clearTimeout(t[e]));n=this.config.drmSystemOptions;return((e=n)&&("persistent-license"===e.sessionType||null!=(e=e.sessionTypes)&&e.some(e=>"persistent-license"===e))?new Promise((e,t)=>{self.setTimeout(()=>t(new Error("MediaKeySession.remove() timeout")),8e3),r.remove().then(e).catch(t)}):Promise.resolve()).catch(e=>{this.log("Could not remove session: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error("Could not remove session: "+e)})}).then(()=>r.close()).catch(e=>{this.log("Could not close session: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error("Could not close session: "+e)})})}return Promise.resolve()}}function Ic(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return Po(e.keyId)}Bp.CDMCleanupPromise=void 0;class $p extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),(this.data=e).err=e.error}}function Rc(e,t){var r="output-restricted"===e,i=r?q.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:q.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new $p({type:W.KEY_SYSTEM_ERROR,details:i,fatal:!1,decryptdata:t},r?"HDCP level output restricted":`key status changed to "${e}"`)}function Cc(e,t){let r;try{r=new Event("addtrack")}catch(e){(r=document.createEvent("Event")).initEvent("addtrack",!1,!1)}r.track=e,t.dispatchEvent(r)}function Pc(t,r){var e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues&&!t.cues.getCueById(r.id))try{if(t.addCue(r),!t.cues.getCueById(r.id))throw new Error("addCue is failed for: "+r)}catch(e){H.debug("[texttrack-utils]: "+e);try{var i=new self.TextTrackCue(r.startTime,r.endTime,r.text);i.id=r.id,t.addCue(i)}catch(e){H.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===e&&(t.mode=e)}function Dc(t,r){var e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues)for(let e=t.cues.length;e--;)r&&t.cues[e].removeEventListener("enter",r),t.removeCue(t.cues[e]);"disabled"===e&&(t.mode=e)}function xc(t,e,r,i){var s=t.mode;if("disabled"===s&&(t.mode="hidden"),t.cues&&0{var n=[],a=((e,t)=>{if(t<=e[0].startTime)return 0;var r=e.length-1;if(t>e[r].endTime)return-1;let i=0,s=r,n;for(;i<=s;)if(n=Math.floor((s+i)/2),te[n].startTime&&i=i&&o.endTime<=s)n.push(o);else if(o.startTime>s)return n}return n})(t.cues,e,r);for(let e=0;ethis.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),this.media&&this.hls.config.renderTextTracksNatively){let t=null;var r=Oc(this.media.textTracks);for(let e=0;e{Dc(e)}))}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){var r,{id:i,groupId:s,details:n}=t,a=this.tracksInGroup[i];a&&a.groupId===s?(r=a.details,a.details=t.details,this.log(`Subtitle track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,r)):this.warn(`Subtitle track with id:${i} and group:${s} not found in active group `+(null==a?void 0:a.groupId))}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(s){s=this.hls.levels[s];if(s){let t=s.subtitleGroups||null,r=this.groupIds,i=this.currentTrack;if(!t||(null==r?void 0:r.length)!==(null==t?void 0:t.length)||null!=t&&t.some(e=>-1===(null==r?void 0:r.indexOf(e)))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;s=this.tracks.filter(e=>!t||-1!==t.indexOf(e.groupId));if(s.length)this.selectDefaultTrack&&!s.some(e=>e.default)&&(this.selectDefaultTrack=!1),s.forEach((e,t)=>{e.id=t});else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=s;var n,a=this.hls.config.subtitlePreference;!i&&a&&(this.selectDefaultTrack=!1,n=Cl(a,s),i=-1sc(t,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${t.name}" and language "${t.lang}"`),[].slice.call(e).forEach(e=>{"disabled"!==e.mode&&e!==r&&(e.mode="disabled")}),r&&(e=this.subtitleDisplay?"showing":"hidden",r.mode!==e)&&(r.mode=e)}}setSubtitleTrack(e){var t,r,i,s,n,a,o=this.tracksInGroup;this.media?e<-1||e>=o.length||!j(e)?this.warn("Invalid subtitle track id: "+e):(this.selectDefaultTrack=!1,t=this.currentTrack,o=o[e]||null,this.trackId=e,this.currentTrack=o,this.toggleTrackModes(),o?(a=!!o.details&&!o.details.live,e===this.trackId&&o===t&&a||(this.log("Switching to subtitle-track "+e+(o?` "${o.name}" lang:${o.lang} group:`+o.groupId:"")),{id:a,groupId:r="",name:i,type:s,url:n}=o,this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:a,groupId:r,name:i,type:s,url:n}),a=this.switchParams(o.url,null==t?void 0:t.details,o.details),this.loadPlaylist(a))):this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:e})):this.queuedDefaultTrack=e}}function Mc(e){let t=5381,r=e.length;for(;r;)t=33*t^e.charCodeAt(--r);return(t>>>0).toString()}let ys=(e=>(e[e.Point=0]="Point",e[e.Range=1]="Range",e))({});class Gp{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null!=(e=this.assetListLoader)&&e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;return 0=this.assetList.length||(t=this.playoutLimit,!(e<=0||isNaN(t))&&(0===t||t<((null==(t=this.assetList[e])?void 0:t.startOffset)||0)))}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){var e=this.dateRange.startTime;if(this.snapOptions.out){var t=this.dateRange.tagAnchor;if(t)return Fc(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){var e,t;return!(0!==this.startTime&&!this.snapOptions.out)||!!(e=this.dateRange.tagAnchor)&&(t=this.dateRange.startTime)-Fc(t,e)<.1}get resumptionOffset(){var e=this.resumeOffset,e=j(e)?e:this.duration;return this.cumulativeDuration+e}get resumeTime(){var e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){var t=this.resumeAnchor;if(t)return Fc(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!(this.cue.once||this.cue.pre||!this.startIsAligned||!(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<.025))}set appendInPlace(e){this.appendInPlaceStarted?this.resetOnResume=!e:this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){var e=this.playoutLimit;let t;return t=null!==this._duration?this._duration:this.dateRange.duration||this.dateRange.plannedDuration||0,t=!isNaN(e)&&e":e.cue.post?"":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`;var e}}function Fc(e,t){return e-t.start{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(X.PLAYOUT_LIMIT_REACHED,{})};let s=this.hls=new e(t);this.interstitial=r,this.assetItem=i;e=()=>{this.hasDetails=!0};s.once(X.LEVEL_LOADED,e),s.once(X.AUDIO_TRACK_LOADED,e),s.once(X.SUBTITLE_TRACK_LOADED,e),s.on(X.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace)&&s.on(X.BUFFER_APPENDED,()=>{var e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,s.trigger(X.BUFFERED_TO_END,void 0))})})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){var t=this.hls;if(t)if(t.url)t.levels.length&&!t.started&&t.startLoad(-1,!0);else{let e=this.assetItem.uri;try{e=Nc(e,t.config.primarySessionId||"").href}catch(e){}t.loadSource(e)}}bufferedInPlaceToEnd(e){var t,r;return!!this.appendInPlace&&(!(null==(t=this.hls)||!t.bufferedToEnd)||!!e&&(t=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset,e=Tn.bufferInfo(e,r,0),t-.02<=this.getAssetTime(e.end)))}reachedPlayout(e){var t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){var e=this.media||this.mediaAttached;return e?(e=Tn.bufferInfo(e,e.currentTime,.001),this.getAssetTime(e.end)):this._bufferedEosTime||this.currentTime}get currentTime(){var e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){var e=this.assetItem.duration;if(!e)return 0;var t=this.interstitial.playoutLimit;if(t){t=t-this.startOffset;if(01/9e4&&this.hls)){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){var t=this.timelineOffset,r=this.duration;return Math.min(Math.max(0,e-t),r)}removeMediaListeners(){var e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){var e;this.mediaAttached&&null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null!=(t=this.hls)&&t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),(this.mediaAttached=null)!=(e=this.hls)&&e.detachMedia()}resumeBuffering(){var e;null!=(e=this.hls)&&e.resumeBuffering()}pauseBuffering(){var e;null!=(e=this.hls)&&e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){var e,t=this.hls;t&&this.hasDetails&&(t.stopLoad(),t.levels.forEach(e=e=>delete e.details),t.allAudioTracks.forEach(e),t.allSubtitleTracks.forEach(e),this.hasDetails=!1)}on(e,t,r){var i;null!=(i=this.hls)&&i.on(e,t)}once(e,t,r){var i;null!=(i=this.hls)&&i.once(e,t)}off(e,t,r){var i;null!=(i=this.hls)&&i.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${Bc(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} `+(this.appendInPlace?"append-in-place":"")}}class Hp extends Vf{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(r,i){return this.events?this.events.reduce((e,t)=>r<=t.startOffset&&i>t.startOffset?(delete t.error,e+1):e,0):0}get duration(){var e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let r=-1;e.nextEvent?r=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(r=this.findEventIndex(e.previousEvent.identifier)+1);var i,s=this.items;if(s)for(s[r]||(void 0===t&&(t=e.start),r=this.findItemIndexAtTime(t));0<=r&&null!=(i=s[r])&&i.event;)r--;return r}findItemIndexAtTime(r,i){var s=this.items;if(s)for(let t=0;te.start&&r!n.includes(e.identifier)):[];r.length&&r.sort((e,t)=>{var r=e.cue.pre,i=e.cue.post,s=t.cue.pre,n=t.cue.post;if(r&&!s)return-1;if(s&&!r)return 1;if(i&&!n)return 1;if(n&&!i)return-1;if(!(r||s||i||n)){r=e.startTime,s=t.startTime;if(r!==s)return r-s}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=r,t.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,t)}updateSchedule(e,t=[],i=!1){var s=this.events||[];if(s.length||t.length||this.length<2){let r=this.items;s=this.parseSchedule(s,e);(i||t.length||(null==r?void 0:r.length)!==s.length||s.some((e,t)=>.005!(e.error||e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(g,e);let f=0,p=0;g.forEach((e,t)=>{var r=e.cue.pre,i=e.cue.post,s=g[t-1]||null,n=e.appendInPlace,a=i?v:e.startOffset,o=e.duration,l=e.timelineOccupancy===ys.Range?o:0,h=(null==s?void 0:s.startTime)===a,d=a+e.cumulativeDuration;let c=n?d+o:a+e.resumptionOffset;if(r||!i&&a<=0){n=p,r=(p+=l,e.timelineStart=d,y);y+=o,m.push({event:e,start:d,end:c,playout:{start:r,end:y},integrated:{start:n,end:p}})}else{if(!(a<=v))return;h||(.033<(r=a-f)?(n=f,h=p,p+=r,u=y,y+=r,t={previousEvent:g[t-1]||null,nextEvent:e,start:n,end:n+r,playout:{start:u,end:y},integrated:{start:h,end:p}},m.push(t)):0v?v:h}),f{var r=e.cue.pre,i=e.cue.post,r=r?0:i?l:e.startTime,s=(this.updateAssetDurations(e),d===r),s=(s?e.cumulativeDuration=h:(h=0,d=r),!i&&e.snapOptions.in&&(e.resumeAnchor=Fl(null,o.fragments,e.startOffset+e.resumptionOffset,0,0)||void 0),!e.appendInPlace||e.appendInPlaceStarted||this.primaryCanResumeInPlaceAt(e,a)||(e.appendInPlace=!1),!e.appendInPlace&&t+1{var t,r=n[e].details,i=r.edge;return a>=i?(this.log(`"${s.identifier}" resumption ${a} past ${e} playlist end `+i),!1):(i=Fl(null,r.fragments,a))?(t="audio"===e?.175:0,!(Math.abs(i.start-a)<.025+t||Math.abs(i.end-a)<.025+t||(this.log(`"${s.identifier}" resumption ${a} not aligned with ${e} fragment bounds (${i.start}-${i.end} sn: ${i.sn} cc: ${i.cc})`),0))):(this.log(`"${s.identifier}" resumption ${a} does not align with any fragments in ${e} playlist (${r.fragStart}-${r.fragmentEnd})`),!0)})}updateAssetDurations(s){if(s.assetListLoaded){var n=s.timelineStart;let t=0,r=!1,i=!1;for(let e=0;e{var e=e.data,s=null==e?void 0:e.ASSETS;Array.isArray(s)?(n.assetListResponse=e,this.hls.trigger(X.ASSET_LIST_LOADED,{event:n,assetListResponse:e,networkDetails:i})):(s=this.assignAssetListError(n,q.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),r.url,t,i),this.hls.trigger(X.ERROR,s))},onError:(e,t,r,i)=>{e=this.assignAssetListError(n,q.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${e.code} ${e.text} (${t.url})`),t.url,i,r);this.hls.trigger(X.ERROR,e)},onTimeout:(e,t,r)=>{t=this.assignAssetListError(n,q.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${t.url})`),t.url,e,r);this.hls.trigger(X.ERROR,t)}}),this.hls.trigger(X.ASSET_LIST_LOADING,{event:n}),e}assignAssetListError(e,t,r,i,s,n){return e.error=r,{type:W.NETWORK_ERROR,details:t,fatal:!1,interstitial:e,url:i,error:r,networkDetails:n,stats:s}}}function Vc(e){null!=e&&e.play().catch(()=>{})}function Gc(e,t){return`[${e}] Advancing timeline position to `+t}class Kp extends Vf{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{var t=this.currentTime;if(void 0!==t&&!this.playbackDisabled&&this.schedule){var r=t-this.timelinePos,i=Math.abs(r)<1/7056e5;if(!i){var i=r<=-.01,s=(this.timelinePos=t,this.bufferedPos=t,this.playingItem);if(s)if(i&&this.schedule.resetErrorsInRange(t,t-r)&&this.updateSchedule(!0),this.checkBuffer(),i&&t=s.end){r=this.findItemIndex(s);let e=this.schedule.findItemIndexAtTime(t);if(-1===e&&(e=r+(i?-1:1),this.log(`seeked ${i?"back ":""}to position not covered by schedule ${t} (resolving from ${r} to ${e})`)),!this.isInterstitial(s)&&null!=(n=this.media)&&n.paused&&(this.shouldPlay=!1),!i&&e>r){var n=this.schedule.findJumpRestrictedIndex(r+1,e);if(r{var e,t=this.currentTime;void 0===t||this.playbackDisabled||t>this.timelinePos&&((this.timelinePos=t)>this.bufferedPos&&this.checkBuffer(),e=this.playingItem)&&!this.playingLastItem&&(t>=e.end&&(this.timelinePos=e.end,e=this.findItemIndex(e),this.setSchedulePosition(e+1)),e=this.playingAsset)&&e.timelineStart+(e.duration||0)<=t&&this.setScheduleToAssetAtTime(t,e)},this.onScheduleUpdate=(r,i)=>{var s=this.schedule;if(s){var n=this.playingItem,a=s.events||[],o=s.items||[],s=s.durations,l=r.map(e=>e.identifier),h=!(!a.length&&!l.length);(h||i)&&this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a} Schedule: ${o.map(e=>$c(e))} pos: `+this.timelinePos),l.length&&this.log("Removed events "+l);let e=null,t=null;n&&(e=this.updateItem(n,this.timelinePos),this.itemsMatch(n,e)?this.playingItem=e:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);var d=this.bufferingItem;d&&(t=this.updateItem(d,this.bufferedPos),this.itemsMatch(d,t)?this.bufferingItem=t:d.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(d.event,null))),r.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(t=>{if(t.interstitial.appendInPlace){var r=t.assetItem.timelineStart,i=t.timelineOffset-r;if(i)try{t.timelineOffset=r}catch(e){.025${r})`)}}}),(h||i)&&(this.hls.trigger(X.INTERSTITIALS_UPDATED,{events:a.slice(0),schedule:o.slice(0),durations:s,removedIds:l}),this.isInterstitial(n)&&l.includes(n.event.identifier)?(this.warn(`Interstitial "${n.event.identifier}" removed while playing`),this.primaryFallback(n.event)):(n&&this.trimInPlace(e,n),d&&t!==e&&this.trimInPlace(t,d),this.checkBuffer()))}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new zp(e),this.schedule=new Hp(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(X.MEDIA_ENDED,this.onMediaEnded,this),e.on(X.ERROR,this.onError,this),e.on(X.DESTROYING,this.onDestroying,this))}unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(X.MEDIA_ENDED,this.onMediaEnded,this),e.off(X.ERROR,this.onError,this),e.off(X.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null!=(e=this.getBufferingPlayer())&&e.resumeBuffering()}pauseBuffering(){var e;null!=(e=this.getBufferingPlayer())&&e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){var e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){ld(e,"play",this.onPlay),ld(e,"pause",this.onPause),ld(e,"seeking",this.onSeeking),ld(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){t=this.media=t.media;od(t,"seeking",this.onSeeking),od(t,"timeupdate",this.onTimeupdate),od(t,"play",this.onPlay),od(t,"pause",this.onPause)}onMediaAttached(e,t){var r=this.effectivePlayingItem,i=this.detachedData;(this.detachedData=null)===r?this.checkStart():i||(this.clearScheduleState(),i=this.findItemIndex(r),this.setSchedulePosition(i))}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){var t=!!t.transferMedia,r=this.media;this.media=null,t||(r&&this.removeMediaListeners(r),this.detachedData&&((t=this.getBufferingPlayer())&&(this.log("Removing schedule state for detachedData and "+t),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,t.detachMedia()),this.shouldPlay=!1))}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let p=this,r=()=>p.bufferingItem||p.waitingItem,g=e=>e&&p.getAssetPlayer(e.identifier),m=(t,r,i,s,n)=>{if(t){let e=t[r].start;var a=t.event;return a?"playout"!==r&&a.timelineOccupancy===ys.Point||(null==(r=g(i))?void 0:r.interstitial)===a&&(e+=r.assetItem.startOffset+r[n]):(i="bufferedPos"===s?o():p[s],e+=i-t.start),e}return 0},o=()=>{var e=p.bufferedPos;return e===Number.MAX_VALUE?t("primary"):Math.max(e,0)},t=e=>{var t;return null!=(t=p.primaryDetails)&&t.live?p.primaryDetails.edge:(null==(t=p.schedule)?void 0:t.durations[e])||0},i=(r,i)=>{var s=p.effectivePlayingItem;if((null==s||null==(s=s.event)||!s.restrictions.skip)&&p.schedule){p.log(`seek to ${r} "${i}"`);var s=p.effectivePlayingItem,n=p.schedule.findItemIndexAtTime(r,i),a=null==(a=p.schedule.items)?void 0:a[n],t=p.getBufferingPlayer(),o=null==t?void 0:t.interstitial,o=null==o?void 0:o.appendInPlace,l=s&&p.itemsMatch(s,a);if(s&&(o||l)){var l=g(p.playingAsset),h=(null==l?void 0:l.media)||p.primaryMedia;if(h){var d="primary"===i?h.currentTime:m(s,i,p.playingAsset,"timelinePos","currentTime"),d=(o?d:h.currentTime)+(r-d);if(0<=d&&(!l||o||d<=l.duration))return void(h.currentTime=d)}}if(a){let e=r;"primary"!==i&&(l=a[i].start,e=a.start+(r-l));h=!p.isInterstitial(a);if(p.isInterstitial(s)&&!s.event.appendInPlace||!h&&!a.event.appendInPlace){if(s){d=p.findItemIndex(s);if(d=f.startOffset&&u{var e=p.effectivePlayingItem;return p.isInterstitial(e)||(e=r(),p.isInterstitial(e))?e:null},e={get bufferedEnd(){var e=r(),t=p.bufferingItem;return t&&t===e&&(m(t,"playout",p.bufferingAsset,"bufferedPos","bufferedEnd")-t.playout.start||(null==(e=p.bufferingAsset)?void 0:e.startOffset))||0},get currentTime(){var e=s(),t=p.effectivePlayingItem;return t&&t===e?m(t,"playout",p.effectivePlayingAsset,"timelinePos","currentTime")-t.playout.start:0},set currentTime(e){var t=s(),r=p.effectivePlayingItem;r&&r===t&&i(e+r.playout.start,"playout")},get duration(){var e=s();return e?e.playout.end-e.playout.start:0},get assetPlayers(){var e=null==(e=s())?void 0:e.event.assetList;return e?e.map(e=>p.getAssetPlayer(e.identifier)):[]},get playingIndex(){var e=null==(e=s())?void 0:e.event;return e&&p.effectivePlayingAsset?e.findAssetIndex(p.effectivePlayingAsset):-1},get scheduleItem(){return s()}};return this.manager={get events(){var e;return(null==(e=p.schedule)||null==(e=e.events)?void 0:e.slice(0))||[]},get schedule(){var e;return(null==(e=p.schedule)||null==(e=e.items)?void 0:e.slice(0))||[]},get interstitialPlayer(){return s()?e:null},get playerQueue(){return p.playerQueue.slice(0)},get bufferingAsset(){return p.bufferingAsset},get bufferingItem(){return r()},get bufferingIndex(){var e=r();return p.findItemIndex(e)},get playingAsset(){return p.effectivePlayingAsset},get playingItem(){return p.effectivePlayingItem},get playingIndex(){var e=p.effectivePlayingItem;return p.findItemIndex(e)},primary:{get bufferedEnd(){return o()},get currentTime(){var e=p.timelinePos;return 0{if(0!==e&&"primary"!==t&&null!=(r=p.schedule)&&r.length){var r=p.schedule.findItemIndexAtTime(e),i=null==(i=p.schedule.items)?void 0:i[r];if(i)return e+(i[t].start-i.start)}return e})((null==(e=p.primaryDetails)?void 0:e.fragmentStart)||0,"integrated")}},skip:()=>{var e,t=p.effectivePlayingItem,r=null==t?void 0:t.event;r&&!r.restrictions.skip&&(e=p.findItemIndex(t),r.appendInPlace?(t=t.playout.start+t.event.duration,i(t+.001,"playout")):p.advanceAfterAssetEnded(r,e,1/0))}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e=this.playingItem,t=null==(t=this.schedule)?void 0:t.items;return!!(this.playbackStarted&&e&&t)&&this.findItemIndex(e)===t.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){if(null!==this.mediaSelection){var t=this.waitingItem||this.playingItem;if(!this.isInterstitial(t)||t.event.appendInPlace){let e=this.media;t=null==(t=e=!e&&null!=(t=this.bufferingItem)&&null!=(t=t.event)&&t.appendInPlace?this.primaryMedia:e)?void 0:t.currentTime;if(void 0!==t&&j(t))return t}}}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!(null==e||!e.event)}retreiveMediaSource(e,t){e=this.getAssetPlayer(e);e&&this.transferMediaFromPlayer(e,t)}transferMediaFromPlayer(e,t){var r=e.interstitial.appendInPlace,i=e.media;r&&i===this.primaryMedia?(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&i?this.detachedData={media:i}:(r=e.transferMedia(),this.log(`transfer MediaSource from ${e} `+$(r)),this.detachedData=r)):t&&i&&(this.shouldPlay||(this.shouldPlay=!i.paused))}transferMediaTo(s,n){if(s.media!==n){let e=null;var a=this.hls;let r=s!==a,i=r&&s.interstitial.appendInPlace;var o=null==(o=this.detachedData)?void 0:o.mediaSource;let t;t=a.media?(i&&(e=a.transferMedia(),this.detachedData=e),"Primary"):o?(l=this.getBufferingPlayer())?(e=l.transferMedia(),""+l):"detached MediaSource":"detached media",e||(o?(e=this.detachedData,this.log("using detachedData: MediaSource "+$(e))):this.detachedData&&a.media!==n||(1<(l=this.playerQueue).length&&l.forEach(e=>{var t;r&&e.interstitial.appendInPlace!==i&&(t=e.interstitial,this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace)&&this.warn("Could not change append strategy for queued assets "+t)}),this.hls.detachMedia(),this.detachedData={media:n}));var a=e&&"mediaSource"in e&&"closed"!==(null==(o=e.mediaSource)?void 0:o.readyState),l=a&&e?e:n,o=(this.log(`${a?"transfering MediaSource":"attaching media"} to ${r?s:"Primary"} from ${t} (media.currentTime: ${n.currentTime})`),this.schedule);l===e&&o&&(a=r&&s.assetId===o.assetIdAtEnd,l.overrides={duration:o.duration,endOfStream:!r||a,cueRemoval:!r}),s.attachMedia(l)}}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){var e,t,r=this.schedule,i=null==r?void 0:r.events;i&&!this.playbackDisabled&&this.media&&(-1===this.bufferedPos&&(this.bufferedPos=0),t=this.timelinePos,e=this.effectivePlayingItem,-1===t?(t=this.hls.startPosition,this.log(Gc("checkStart",t)),this.timelinePos=t,i.length&&i[0].cue.pre?(i=r.findEventIndex(i[0].identifier),this.setSchedulePosition(i)):(0<=t||!this.primaryLive)&&(i=this.timelinePos=0{var e=e.interstitial,t=a.findEventIndex(e.identifier);(t=t.end)&&(e=this.getPrimaryResumption(t,r),this.log(Gc("resumePrimary",e)),this.timelinePos=e),this.attachPrimary(e,t)}e&&(e=null==(i=this.schedule)?void 0:i.items)&&(this.log("INTERSTITIALS_PRIMARY_RESUMED "+$c(t)),this.hls.trigger(X.INTERSTITIALS_PRIMARY_RESUMED,{schedule:e.slice(0),scheduleIndex:r}),this.checkBuffer())}getPrimaryResumption(e,t){e=e.start;if(this.primaryLive){var r=this.primaryDetails;if(0===t)return this.hls.startPosition;if(r&&(er.edge))return this.hls.liveSyncPosition||-1}return e}isAssetBuffered(e){var t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:Tn.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,r){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;var i,t=this.primaryMedia;t&&((i=this.hls).media?this.checkBuffer():(this.transferMediaTo(i,t),r&&this.startLoadingPrimaryAt(e,r)),r||(this.log(Gc("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,r)))}startLoadingPrimaryAt(e,t){var r,i=this.hls;!i.loadingEnabled||!i.media||.5e&&(e.setAudioOption(t)||e.setAudioOption(r)))}onSubtitleTrackSwitch(e,t){let r=Rl(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(r)))}onBufferCodecs(e,t){t=t.tracks;t&&(this.requiredTracks=t)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){var r=this.playingItem;!r||this.itemsMatch(r,this.bufferingItem)||this.isInterstitial(r)||(r=this.timelinePos,this.bufferedPos=r,this.checkBuffer())}onBufferedToEnd(e){if(this.schedule){var t=this.schedule.events;if(this.bufferedPos{r.event.isAssetPastPlayoutLimit(t)&&this.clearAssetPlayer(e.identifier,null)}),t=r.end+.25,(i=Tn.bufferInfo(this.primaryMedia,t,0)).end>t||(i.nextStart||0)>t)&&(this.log(`trim buffered interstitial ${$c(r)} (was ${$c(e)})`),this.attachPrimary(t,null,!0),this.flushFrontBuffer(t))}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){return!!t&&(e===t||e.event.identifier===(null==(e=t.event)?void 0:e.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t,r=this.mediaSelection;r&&null!=(t=this.schedule)&&t.updateSchedule(r,[],e)}checkBuffer(e){var t,r=null==(r=this.schedule)?void 0:r.items;r&&(t=Tn.bufferInfo(this.primaryMedia,this.timelinePos,0),e&&(this.bufferedPos=this.timelinePos),e=e||t.len<1,this.updateBufferedPos(t.end,r,e))}updateBufferedPos(t,r,i){var s=this.schedule,n=this.bufferingItem;if(!(this.bufferedPos>t)&&s)if(1===r.length&&this.itemsMatch(r[0],n))this.bufferedPos=t;else{var a=this.playingItem,o=this.findItemIndex(a);let e=s.findItemIndexAtTime(t);if(this.bufferedPos=n.end||null!=(d=h.event)&&d.appendInPlace&&t+.01>=h.start)&&(e=l),this.isInterstitial(n)){var d=n.event;if(1s&&e>o?this.bufferedToItem(h):(l=this.primaryDetails,this.primaryLive&&l&&t>l.edge-l.targetduration&&h.start{e=this.getAssetPlayer(e.identifier);return!(null!=e&&e.bufferedInPlaceToEnd(t))})}setBufferingItem(e){var t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){var{items:r,events:s}=i;if(!r||!s)return t;var n=this.isInterstitial(e),a=this.getBufferingPlayer(),a=(this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos)),a?a.remaining:t?t.end-this.timelinePos:0);if(this.log("INTERSTITIALS_BUFFERED_TO_BOUNDARY "+$c(e)+(t?` (${a.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(n){let r=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,t)=>{e=this.getAssetPlayer(e.identifier);e&&(t===r&&e.loadSource(),e.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(X.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:s.slice(0),schedule:r.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){var r=this.setBufferingItem(e);this.playbackDisabled||(this.isInterstitial(e)?this.bufferedToEvent(e,t):null!==r&&(this.bufferingAsset=null,(t=this.detachedData)&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)))}preloadPrimary(e){var t=this.findItemIndex(e),e=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(e)}bufferedToEvent(e,t){var e=e.event,r=0===e.assetList.length&&!e.assetListLoader,i=e.cue.once;!r&&i||null!=(r=this.preloadAssets(e,t))&&r.interstitial.appendInPlace&&(i=this.primaryMedia)&&this.bufferAssetPlayer(r,i)}preloadAssets(r,i){var s=r.assetUrl,n=r.assetList.length,a=0===n&&!r.assetListLoader,e=r.cue.once;if(a){a=r.timelineStart;r.appendInPlace&&(o=this.playingItem,this.isInterstitial(o)||(null==o||null==(o=o.nextEvent)?void 0:o.identifier)!==r.identifier||this.flushFrontBuffer(a+.25));let e,t=0;if(!(t=!this.playingItem&&this.primaryLive&&-1===(t=this.hls.startPosition)?this.hls.liveSyncPosition||0:t)||r.cue.pre||r.cue.post||0<(o=t-a)&&(e=Math.round(1e3*o)/1e3),this.log(`Load interstitial asset ${i+1}/${s?1:n} `+r+(e?` live-start: ${t} start-offset: `+e:"")),s)return this.createAsset(r,0,0,a,r.duration,s);var o=this.assetListLoader.loadAssetList(r,e);o&&(r.assetListLoader=o)}else if(!e&&n){for(let e=i;e{this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:t,endOffset:1/0,type:e})}))}getAssetPlayerQueueIndex(t){var r=this.playerQueue;for(let e=0;e{var t,r,i;e.live?(t=new Error("Interstitials MUST be VOD assets "+s),r={fatal:!0,type:W.OTHER_ERROR,details:q.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},i=(null==(i=this.schedule)?void 0:i.findEventIndex(s.identifier))||-1,this.handleAssetItemError(r,s,i,a,t.message)):(r=e.edge-e.fragmentStart,i=n.duration,(u||null===i||i `+r),n.duration=r,this.updateSchedule()))},p=(e.on(X.LEVEL_UPDATED,(e,{details:t})=>f(t)),e.on(X.LEVEL_PTS_UPDATED,(e,{details:t})=>f(t)),e.on(X.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter()),(e,t)=>{var r=this.getAssetPlayer(h);r&&t.tracks&&(r.off(X.BUFFER_CODECS,p),r.tracks=t.tracks,t=this.primaryMedia,this.bufferingAsset===r.assetItem)&&t&&!r.media&&this.bufferAssetPlayer(r,t)});e.on(X.BUFFER_CODECS,p);e.on(X.BUFFERED_TO_END,()=>{var e,t=this.getAssetPlayer(h);this.log("buffered to end of asset "+t),t&&this.schedule&&(t=this.schedule.findEventIndex(s.identifier),e=null==(e=this.schedule.items)?void 0:e[t],this.isInterstitial(e))&&this.advanceAssetBuffering(e,n)});i=t=>()=>{var e;this.getAssetPlayer(h)&&this.schedule&&(this.shouldPlay=!0,e=this.schedule.findEventIndex(s.identifier),this.advanceAfterAssetEnded(s,e,t))};return e.once(X.MEDIA_ENDED,i(a)),e.once(X.PLAYOUT_LIMIT_REACHED,i(1/0)),e.on(X.ERROR,(e,t)=>{var r;if(this.schedule)return r=this.getAssetPlayer(h),t.details===q.BUFFER_STALLED_ERROR?null!=r&&r.appendInPlace?void this.handleInPlaceStall(s):(this.onTimeupdate(),void this.checkBuffer(!0)):void this.handleAssetItemError(t,s,this.schedule.findEventIndex(s.identifier),a,`Asset player error ${t.error} `+s)}),e.on(X.DESTROYING,()=>{var e,t;this.getAssetPlayer(h)&&this.schedule&&(e=new Error("Asset player destroyed unexpectedly "+h),t={fatal:!0,type:W.OTHER_ERROR,details:q.INTERSTITIAL_ASSET_ITEM_ERROR,error:e},this.handleAssetItemError(t,s,this.schedule.findEventIndex(s.identifier),a,e.message))}),this.log("INTERSTITIAL_ASSET_PLAYER_CREATED "+Bc(n)),this.hls.trigger(X.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:n,assetListIndex:a,event:s,player:e}),e}clearInterstitial(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)}),e.reset()}resetAssetPlayer(e){var t=this.getAssetPlayerQueueIndex(e);-1!==t&&(this.log(`reset asset player "${e}" after error`),e=this.playerQueue[t],this.transferMediaFromPlayer(e,null),e.resetDetails())}clearAssetPlayer(e,t){var r,e=this.getAssetPlayerQueueIndex(e);-1!==e&&(r=this.playerQueue[e],this.log(`clear ${r} toSegment: `+(t&&$c(t))),this.transferMediaFromPlayer(r,t),this.playerQueue.splice(e,1),r.destroy())}emptyPlayerQueue(){for(var e;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,r,i,s){var{interstitial:n,assetItem:a,assetId:o}=e,l=n.assetList.length,h=this.playingAsset;this.endedAsset=null,this.playingAsset=a,h&&h.identifier===o||(h&&(this.clearAssetPlayer(h.identifier,r[i]),delete h.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${l} `+Bc(a)),this.hls.trigger(X.INTERSTITIAL_ASSET_STARTED,{asset:a,assetListIndex:t,event:n,schedule:r.slice(0),scheduleIndex:i,player:e})),this.bufferAssetPlayer(e,s)}bufferAssetPlayer(e,t){if(this.schedule){var{interstitial:r,assetItem:i}=e,s=this.schedule.findEventIndex(r.identifier),n=null==(n=this.schedule.items)?void 0:n[s];if(n){e.loadSource(),this.setBufferingItem(n),this.bufferingAsset=i;var n=this.getBufferingPlayer();if(n!==e){var a=r.appendInPlace;if(!a||!1!==(null==n?void 0:n.interstitial.appendInPlace)){n=(null==n?void 0:n.tracks)||(null==(n=this.detachedData)?void 0:n.tracks)||this.requiredTracks;if(a&&i!==this.playingAsset){if(!e.tracks)return void this.log("Waiting for track info before buffering "+e);if(n&&!Ro(n,e.tracks))return a=new Error(`Asset ${Bc(i)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(n)}')`),n={fatal:!0,type:W.OTHER_ERROR,details:q.INTERSTITIAL_ASSET_ITEM_ERROR,error:a},i=r.findAssetIndex(i),void this.handleAssetItemError(n,r,s,i,a.message)}this.transferMediaTo(e,t)}}}}}handleInPlaceStall(e){var t,r,i,s,n,a=this.schedule,o=this.primaryMedia;a&&o&&(n=o.currentTime,t=a.findAssetIndex(e,n),i=e.assetList[t])&&(r=this.getAssetPlayer(i.identifier))&&(i=r.currentTime||n-i.timelineStart,s=r.duration-i,this.warn(`Stalled at ${i} of ${i+s} in ${r} ${e} (media.currentTime: ${n})`),i)&&(s/o.playbackRate<.5||r.bufferedInPlaceToEnd(o))&&r.hls&&(n=a.findEventIndex(e.identifier),this.advanceAfterAssetEnded(e,n,t))}advanceInPlace(e){var t=this.primaryMedia;t&&t.currentTime!e.error))for(let e=i;e{var r=parseFloat(e.DURATION);this.createAsset(a,t,s,i+s,r,e.URI),s+=r}),a.duration=s,this.log(`Loaded asset-list with duration: ${s} (was: ${l}) `+a);var t=this.waitingItem,l=(null==t?void 0:t.event.identifier)===o,t=(this.updateSchedule(),null==(n=this.bufferingItem)?void 0:n.event);if(l){var l=this.schedule.findEventIndex(o),h=null==(h=this.schedule.items)?void 0:h[l];if(h){if(!this.playingItem&&this.timelinePos>h.end)if(this.schedule.findItemIndexAtTime(this.timelinePos)!==l)return a.error=new Error(`Interstitial no longer within playback range ${this.timelinePos} `+a),this.updateSchedule(!0),void this.primaryFallback(a);this.setBufferingItem(h)}this.setSchedulePosition(l)}else(null==t?void 0:t.identifier)===o&&(h=a.assetList[0])&&(l=this.getAssetPlayer(h.identifier),t.appendInPlace?(o=this.primaryMedia,l&&o&&this.bufferAssetPlayer(l,o)):l&&l.loadSource())}}onError(e,t){if(this.schedule)switch(t.details){case q.ASSET_LIST_PARSING_ERROR:case q.ASSET_LIST_LOAD_ERROR:case q.ASSET_LIST_LOAD_TIMEOUT:var r=t.interstitial;r&&(this.updateSchedule(!0),this.primaryFallback(r));break;case q.BUFFER_STALLED_ERROR:r=this.endedItem||this.waitingItem||this.playingItem;this.isInterstitial(r)&&r.event.appendInPlace?this.handleInPlaceStall(r.event):(this.log(`Primary player stall @${this.timelinePos} bufferedPos: `+this.bufferedPos),this.onTimeupdate(),this.checkBuffer(!0))}}}class Yp extends hp{constructor(e,t,r){super(e,t,r,"subtitle-stream-controller",_o),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();var e=this.hls;e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=E.IDLE,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,r){var{frag:r,success:i}=r;if(this.fragContextChanged(r)||(ln(r)&&(this.fragPrevious=r),this.state=E.IDLE),i){var s=this.tracksBuffered[this.currentTrackId];if(s){let t;var n=r.start;for(let e=0;e=s[e].start&&n<=s[e].end){t=s[e];break}i=r.start+r.duration;t?t.end=i:(t={start:n,end:i},s.push(t)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null),this.media&&this.tick()}}}onBufferFlushing(e,t){var{startOffset:i,endOffset:s}=t;if(0===i&&s!==Number.POSITIVE_INFINITY){let r=s-1;r<=0||(t.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach(t=>{for(let e=0;enew Yf(e)):(this.tracksBuffered=[],this.levels=t.map(e=>{e=new Yf(e);return this.tracksBuffered[e.id]=[],e}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,_o),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(e,t){this.currentTrackId=t.id,null!=(t=this.levels)&&t.length&&-1!==this.currentTrackId?(null!=(t=this.levels[this.currentTrackId])&&t.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,t&&this.state!==E.STOPPED&&this.setInterval(500)):this.clearInterval()}onSubtitleTrackLoaded(e,t){var{currentTrackId:r,levels:i}=this,{details:s,id:n}=t;if(i){var a=i[n];if(!(i.length<=n)&&a){this.log(`Subtitle track ${n} loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:`+s.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;let e=0;if(s.live||null!=(i=a.details)&&i.live){if(s.deltaUpdateFailed)return;i=this.mainDetails;if(!i)return void(this.startFragRequested=!1);var o,l=i.fragments[0];a.details?0===(e=this.alignPlaylists(s,a.details,null==(o=this.levelLastLoaded)?void 0:o.details))&&l&&qh(s,e=l.start):s.hasProgramDateTime&&i.hasProgramDateTime?(ad(s,i),e=s.fragmentStart):l&&qh(s,e=l.start),i&&!this.startFragRequested&&this.setStartPosition(i,e)}a.details=s,this.levelLastLoaded=a,n===r&&(this.hls.trigger(X.SUBTITLE_TRACK_UPDATED,{details:s,id:n,groupId:t.groupId}),this.tick(),s.live)&&!this.fragCurrent&&this.media&&this.state===E.IDLE&&!Fl(null,s.fragments,this.media.currentTime,0)&&(this.warn("Subtitle playlist not aligned with playback"),a.details=void 0)}}else this.warn("Subtitle tracks were reset while loading level "+n)}_handleFragmentLoadComplete(e){let{frag:i,payload:t}=e;e=i.decryptdata;let s=this.hls;if(!this.fragContextChanged(i)&&t&&0{throw s.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:i}),e}).then(e=>{var t=performance.now();s.trigger(X.FRAG_DECRYPTED,{frag:i,payload:e,stats:{tstart:r,tdecrypt:t}})}).catch(e=>{this.warn(e.name+": "+e.message),this.state=E.IDLE})}}doTick(){if(this.media){if(this.state===E.IDLE){var{currentTrackId:t,levels:r}=this,t=null==r?void 0:r[t];if(t&&r.length&&t.details&&!this.waitForLive(t)){var r=this.config,i=this.getLoadPosition(),{end:i,len:s}=Tn.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],i,r.maxBufferHole),n=t.details,a=this.hls.maxBufferLength+n.levelTargetDuration;if(!(a{if(r-1<(t>>>=0))throw new DOMException(`Failed to execute '${e}' on 'TimeRanges': The index provided (${t}) is greater than the maximum bound (${r})`);return i[t][e]};this.buffered={get length(){return i.length},end(e){return t("end",e,i.length)},start(e){return t("start",e,i.length)}}}}let bs={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Es=e=>String.fromCharCode(bs[e]||e),Ts={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Ss={17:2,18:4,21:6,22:8,23:10,19:13,20:15},_s={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},As={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ws=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class qp{constructor(){this.time=null,this.verboseLevel=0}log(e,t){this.verboseLevel>=e&&(t="function"==typeof t?t():t,H.log(this.time+` [${e}] `+t))}}function jc(t){var r=[];for(let e=0;e"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t<100;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){var t=[];let r=!0;for(let e=0;e<100;e++){var i=this.chars[e].uchar;" "!==i&&(r=!1),t.push(i)}return r?"":t.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class Jp{constructor(t){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let e=0;e<15;e++)this.rows.push(new Zp(t));this.logger=t}reset(){for(let e=0;e<15;e++)this.rows[e].clear();this.currRow=14}equals(t){let r=!0;for(let e=0;e<15;e++)if(!this.rows[e].equals(t.rows[e])){r=!1;break}return r}copy(t){for(let e=0;e<15;e++)this.rows[e].copy(t.rows[e])}isEmpty(){let t=!0;for(let e=0;e<15;e++)if(!this.rows[e].isEmpty()){t=!1;break}return t}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+$(e));let t=e.row-1;if(this.nrRollUpRows&&t"bkgData = "+$(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){var e;null===this.nrRollUpRows?this.logger.log(3,"roll_up but nrRollUpRows not set yet"):(this.logger.log(1,()=>this.getDisplayText()),e=this.currRow+1-this.nrRollUpRows,(e=this.rows.splice(e,1)[0]).clear(),this.rows.splice(this.currRow,0,e),this.logger.log(2,"Rolling up"))}getDisplayText(t){t=t||!1;var r=[];let e="";var i;for(let e=0;e<15;e++){var s=this.rows[e].getTextString();s&&(i=e+1,r.push(t?"Row "+i+": '"+s+"'":s.trim()))}return e=0"MODE="+e),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(t){for(let e=0;ee+": "+this.writeScreen.getDisplayText(!0)),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory)&&this.outputDataUpdate()}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){var e;this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode&&(e=this.displayedMemory,this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())),this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){var t={flash:!1};t.underline=e%2==1,t.italics=46<=e,t.italics?t.foreground="white":(e=Math.floor(e/2)-16,t.foreground=["white","green","blue","cyan","red","yellow","magenta"][e]),this.logger.log(2,"MIDROW: "+$(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){!this.outputFilter||this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e)}}class tg{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;var i=this.logger=new qp;this.channels=[null,new eg(e,t,i),new eg(e+1,r,i)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,n){this.logger.time=e;for(let s=0;s"["+jc([n[s],n[s+1]])+"] -> ("+jc([e,t])+")");var a=this.cmdHistory;if(16<=e&&e<=31){if(o=e,l=t,(h=a).a===o&&h.b===l){Hc(null,null,a),this.logger.log(3,()=>"Repeated command ("+jc([e,t])+") is dropped");continue}Hc(e,t,this.cmdHistory),r=(r=(r=(r=this.parseCmd(e,t))||this.parseMidrow(e,t))||this.parsePAC(e,t))||this.parseBackgroundAttributes(e,t)}else Hc(null,null,a);r||(i=this.parseChars(e,t))&&((o=this.currentChannel)&&0"Couldn't parse cleaned data "+jc([e,t])+" orig: "+jc([n[s],n[s+1]]))}}var o,l,h}parseCmd(e,t){var r,i;return((20===e||28===e||21===e||29===e)&&32<=t&&t<=47||(23===e||31===e)&&33<=t&&t<=35)&&(i=this.channels[r=20===e||21===e||23===e?1:2],20===e||21===e||28===e||29===e?32===t?i.ccRCL():33===t?i.ccBS():34===t?i.ccAOF():35===t?i.ccAON():36===t?i.ccDER():37===t?i.ccRU(2):38===t?i.ccRU(3):39===t?i.ccRU(4):40===t?i.ccFON():41===t?i.ccRDC():42===t?i.ccTR():43===t?i.ccRTD():44===t?i.ccEDM():45===t?i.ccCR():46===t?i.ccENM():47===t&&i.ccEOC():i.ccTO(t-32),this.currentChannel=r,!0)}parseMidrow(e,t){let r=0;var i;return(17===e||25===e)&&32<=t&&t<=47&&((r=17===e?1:2)!==this.currentChannel?(this.logger.log(0,"Mismatch channel in midrow parsing"),!1):!!(i=this.channels[r])&&(i.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+jc([e,t])+")"),!0))}parsePAC(e,t){let r;var i;return((17<=e&&e<=23||25<=e&&e<=31)&&64<=t&&t<=127||(16===e||24===e)&&64<=t&&t<=95)&&(i=e<=23?1:2,r=(64<=t&&t<=95?1==i?Ts:_s:1==i?Ss:As)[e],!!(e=this.channels[i]))&&(e.setPAC(this.interpretPAC(r,t)),this.currentChannel=i,!0)}interpretPAC(e,t){let r;e={color:null,italics:!1,indent:null,underline:!1,row:e};return r=95"Special char '"+Es(e)+"' in channel "+r),i=[e]}else 32<=e&&e<=127&&(i=0===t?[e]:[e,t]);return i&&this.logger.log(3,()=>"Char codes = "+jc(i).join(",")),i}parseBackgroundAttributes(e,t){var r,i;return((16===e||24===e)&&32<=t&&t<=47||(23===e||31===e)&&45<=t&&t<=47)&&(i={},16===e||24===e?(r=Math.floor((t-32)/2),i.background=ws[r],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),this.channels[e<=23?1:2].setBkgData(i),!0)}reset(){for(let e=0;e{if(null!=pi&&pi.VTTCue)return self.VTTCue;let b=["","lr","rl"],t=["start","middle","end","left","right"];function E(e,t){return"string"==typeof t&&!!Array.isArray(e)&&(t=t.toLowerCase(),!!~e.indexOf(t))&&t}function T(e){return E(t,e)}function S(e){let t=1;for(;t/gi,"\n")}class sg{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new rg,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let i=this;function r(){var e=i.buffer;let t=0;for(e=Wc(e);t{let t=r;function e(){var e=Kc(r);if(null===e)throw new Error("Malformed timestamp: "+t);return r=r.replace(/^[^\sa-zA-Z-]+/,""),e}function i(){r=r.replace(/^\s+/,"")}if(i(),s.startTime=e(),i(),"--\x3e"!==r.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+t);r=r.slice(3),i(),s.endTime=e(),i();{var a=r;let i=new ig,e=(Yc(a,function(t,r){let e;switch(t){case"region":for(let e=n.length-1;0<=e;e--)if(n[e].id===r){i.set(t,n[e].region);break}break;case"vertical":i.alt(t,r,["rl","lr"]);break;case"line":e=r.split(","),i.integer(t,e[0]),i.percent(t,e[0])&&i.set("snapToLines",!1),i.alt(t,e[0],["auto"]),2===e.length&&i.alt("lineAlign",e[1],["start",ks,"end"]);break;case"position":e=r.split(","),i.percent(t,e[0]),2===e.length&&i.alt("positionAlign",e[1],["start",ks,"end","line-left","line-right","auto"]);break;case"size":i.percent(t,r);break;case"align":i.alt(t,r,["start",ks,"end","left","right"])}},/:/,/\s/),s.region=i.get("region",null),s.vertical=i.get("vertical",""),i.get("line","auto")),t=("auto"===e&&-1===Ls.line&&(e=-1),s.line=e,s.lineAlign=i.get("lineAlign","start"),s.snapToLines=i.get("snapToLines",!0),s.size=i.get("size",100),s.align=i.get("align",ks),i.get("position","auto"));"auto"===t&&50===Ls.position&&(t="start"===s.align||"left"===s.align?0:"end"===s.align||"right"===s.align?100:50),s.position=t}})(e,i.cue,i.regionList)}catch(e){i.cue=null,i.state="BADCUE";continue}i.state="CUETEXT";continue;case"CUETEXT":var n=-1!==e.indexOf("--\x3e");if(!e||n&&(t=!0)){i.oncue&&i.cue&&i.oncue(i.cue),i.cue=null,i.state="ID";continue}if(null===i.cue)continue;i.cue.text&&(i.cue.text+="\n"),i.cue.text+=e;continue;case"BADCUE":e||(i.state="ID")}}}catch(e){"CUETEXT"===i.state&&i.cue&&i.oncue&&i.oncue(i.cue),i.cue=null,i.state="INITIAL"===i.state?"BADWEBVTT":"BADCUE"}return this}flush(){var t=this;try{if(!t.cue&&"HEADER"!==t.state||(t.buffer+="\n\n",t.parse()),"INITIAL"===t.state||"BADWEBVTT"===t.state)throw new Error("Malformed WebVTT signature.")}catch(e){t.onparsingerror&&t.onparsingerror(e)}return t.onflush&&t.onflush(),this}}function qc(e,t,r=0){return e.slice(r,r+t.length)===t}let Is=/\r\n|\n\r|\n|\r/g;function Xc(e,t,r){return Mc(e.toString())+Mc(t.toString())+Mc(r)}function Qc(e,o,l,h,d,t,r){let i=new sg;var s,n,e=Co(new Uint8Array(e)).trim().replace(Is,"\n").split("\n");let c=[],u=o?([s,n=1]=[o.baseTime,o.timescale],Kd(s,Fi,1/n)):0,a="00:00.000",f=0,p=0,g,m=!0;i.oncue=function(e){var r=l[h];let t=l.ccOffset;var i,s=(f-u)/9e4;if(null!=r&&r.new)if(void 0!==p)t=l.ccOffset=r.start;else{var n=l;r=h;var a=s;let e=n[r],t=n[e.prevCC];if(!t||!t.new&&e.new)n.ccOffset=n.presentationOffset=e.start,e.new=!1;else{for(;null!=(i=t)&&i.new;)n.ccOffset+=e.start-t.start,e.new=!1,t=n[(e=t).prevCC];n.presentationOffset=a}}if(s){if(!o)return void(g=new Error("Missing initPTS for VTT MPEGTS"));t=s-l.presentationOffset}r=e.endTime-e.startTime,a=Xd(9e4*(e.startTime+t-p),9e4*d)/9e4,e.startTime=Math.max(a,0),e.endTime=Math.max(a+r,0),s=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(s)),e.id||(e.id=Xc(e.startTime,e.endTime,s)),0{if(m){if(qc(e,"X-TIMESTAMP-MAP=")){m=!1,e.slice(16).split(",").forEach(e=>{qc(e,"LOCAL:")?a=e.slice(6):qc(e,"MPEGTS:")&&(f=parseInt(e.slice(7)))});try{p=(e=>{var t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),i=parseInt(e.slice(-9,-7)),s=9Co(e));[r,n,a=1,o=!1]=[r.baseTime,1,r.timescale];let t=Kd(r,n,1/a,o);try{e.forEach(e=>i(((e,n)=>{let t=new DOMParser,r=t.parseFromString(e,"text/xml"),i=r.getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");let s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(s).reduce((e,t)=>(e[t]=i.getAttribute("ttp:"+t)||s[t],e),{}),o="preserve"!==i.getAttribute("xml:space"),l=eu(Jc(i,"styling","style")),h=eu(Jc(i,"layout","region")),d=Jc(i,"body","[begin]");return[].map.call(d,e=>{var t=function i(e,s){return[].slice.call(e.childNodes).reduce((e,t,r)=>"br"===t.nodeName&&r?e+"\n":null!=(r=t.childNodes)&&r.length?i(t,s):s?e+t.textContent.trim().replace(/\s+/g," "):e+t.textContent,"")}(e,o);if(!t||!e.hasAttribute("begin"))return null;var r=iu(e.getAttribute("begin"),a),i=iu(e.getAttribute("dur"),a);let s=iu(e.getAttribute("end"),a);if(null===r)throw ru(e);if(null===s){if(null===i)throw ru(e);s=r+i}i=new zc(r-n,s-n,t),i.id=Xc(i.startTime,i.endTime,i.text),r=h[e.getAttribute("region")],t=((i,s,e)=>{let n="http://www.w3.org/ns/ttml#styling",a=null,t=null!=i&&i.hasAttribute("style")?i.getAttribute("style"):null;return t&&e.hasOwnProperty(t)&&(a=e[t]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>{var r=tu(s,n,t)||tu(i,n,t)||tu(a,n,t);return r&&(e[t]=r),e},{})})(r,l[e.getAttribute("style")],l),r=t.textAlign;return r&&((e=Ds[r])&&(i.lineAlign=e),i.align=r),an(i,t),i}).filter(e=>null!==e)})(e,t)))}catch(e){s(e)}}}function Jc(e,t,r){e=e.getElementsByTagName(t)[0];return e?[].slice.call(e.querySelectorAll(r)):[]}function eu(e){return e.reduce((e,t)=>{var r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function tu(e,t,r){return e&&e.hasAttributeNS(t,r)?e.getAttributeNS(t,r):null}function ru(e){return new Error("Could not parse ttml timestamp "+e)}function iu(e,t){if(!e)return null;let r=Kc(e);var i,s,n;return null===r&&(Cs.test(e)?r=(i=e,s=t,i=Cs.exec(i),n=(0|i[4])+(0|i[5])/s.subFrameRate,3600*(0|i[1])+60*(0|i[2])+(0|i[3])+n/s.frameRate):Ps.test(e)&&(r=((e,t)=>{var e=Ps.exec(e),r=Number(e[1]);switch(e=e[2]){case"h":return 3600*r;case"m":return 60*r;case"ms":return 1e3*r;case"f":return r/t.frameRate;case"t":return r/t.tickRate}return r})(e,t))),r}class ng{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class ag{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=au(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){var e=this.hls;e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){var e=new ng(this,"textTrack1"),t=new ng(this,"textTrack2"),r=new ng(this,"textTrack3"),i=new ng(this,"textTrack4");this.cea608Parser1=new tg(1,e,t),this.cea608Parser2=new tg(3,r,i)}addCues(e,t,r,i,s){let n=!1;for(let e=s.length;e--;){var a=s[e],o=(l=a[0],o=a[1],h=t,Math.min(o,r)-Math.max(l,h));if(0<=o&&(a[0]=Math.min(a[0],t),a[1]=Math.max(a[1],r),n=!0,.5{this.initPTS[e.frag.cc]?this.onFragLoaded(X.FRAG_LOADED,e):this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(t,r){var i=this.media;if(i)for(let e=0;e{Dc(t[e]),delete t[e]}),this.nonNativeCaptionsTracks={}}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=au(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){var e=this.media;if(e){var t=e.textTracks;if(t)for(let e=0;ee.textCodec===Rs);if(this.config.enableWebVTT||r&&this.config.enableIMSC1)if(rc(this.tracks,t))this.tracks=t;else if(this.textTracks=[],this.tracks=t,this.config.renderTextTracksNatively){var r=this.media;let s=r?Oc(r.textTracks):null;this.tracks.forEach((r,e)=>{let i;if(s){let t=null;for(let e=0;enull!==e).map(e=>e.label)).length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${t.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}else this.tracks.length&&(r=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e})),this.hls.trigger(X.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:r}))}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);t&&(t="textTrack"+t[1],t=this.captionsProperties[t])&&(t.label=e.name,e.lang&&(t.languageCode=e.lang),t.media=e)})}closedCaptionsForLevel(e){e=this.hls.levels[e.level];return null==e?void 0:e.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){var r,i,s,n,a;this.enabled&&t.frag.type===nn&&({cea608Parser1:r,cea608Parser2:i,lastSn:s}=this,{cc:n,sn:a}=t.frag,t=null!=(t=null==(t=t.part)?void 0:t.index)?t:-1,r&&i&&(a!==s+1||a===s&&t!==this.lastPartIndex+1||n!==this.lastCc)&&(r.reset(),i.reset()),this.lastCc=n,this.lastSn=a,this.lastPartIndex=t)}onFragLoaded(e,t){var r,i,{frag:s,payload:n}=t;s.type===_o&&(n.byteLength?(r=s.decryptdata,i="stats"in t,null!=r&&r.encrypted&&!i||(r=this.tracks[s.level],(i=this.vttCCs)[s.cc]||(i[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),r&&r.textCodec===Rs?this._parseIMSC1(s,n):this._parseVTTs(t))):this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")}))}_parseIMSC1(t,e){let r=this.hls;Zc(e,this.initPTS[t.cc],e=>{this._appendCues(e,t.level),r.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})},e=>{r.logger.log("Failed to parse IMSC1: "+e),r.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:e})})}_parseVTTs(i){let e,{frag:s,payload:n}=i,{initPTS:t,unparsedVttFrags:a}=this,o=t.length-1;if(t[s.cc]||-1!=o){let r=this.hls;Qc(null!=(e=s.initSegment)&&e.data?el(s.initSegment.data,new Uint8Array(n)).buffer:n,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,e=>{this._appendCues(e,s.level),r.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})},e=>{var t="Missing initPTS for VTT MPEGTS"===e.message;t?a.push(i):this._fallbackToIMSC1(s,n),r.logger.log("Failed to parse VTT cue: "+e),t&&o>s.cc||r.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:e})})}else a.push(i)}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||Zc(t,this.initPTS[e.cc],()=>{r.textCodec=Rs,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,r){var t=this.hls;if(this.config.renderTextTracksNatively){let t=this.textTracks[r];t&&"disabled"!==t.mode&&e.forEach(e=>Pc(t,e))}else{var i=this.tracks[r];i&&(i=i.default?"default":"subtitles"+r,t.trigger(X.CUES_PARSED,{type:"subtitles",cues:e,track:i}))}}onFragDecrypted(e,t){var r=t.frag;r.type===_o&&this.onFragLoaded(X.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(this.enabled&&this.config.enableCEA708Captions){var{frag:t,samples:r}=t;if(t.type!==nn||"NONE"!==this.closedCaptionsForLevel(t))for(let e=0;exc(t[e],r,i))}if(this.config.renderTextTracksNatively&&0===r&&void 0!==s){let t=this.textTracks;Object.keys(t).forEach(e=>xc(t[e],r,s))}}}extractCea608Data(t){var r=[[],[]],i=31&t[0];let s=2;for(let e=0;e"auto"===e.line||"auto"===t.line?0:8Pc(t,e))),a}},Ms=/(\d+)-(\d+)\/(\d+)/;class og{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||ou,this.controller=new self.AbortController,this.stats=new Gf}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(s,n,e){let a=this.stats;if(a.loading.start)throw new Error("Loader can only be used once.");a.loading.start=self.performance.now();var t=((e,t)=>(t={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(an({},e.headers))},e.rangeEnd&&t.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),t))(s,this.controller.signal);let o="arraybuffer"===s.responseType,l=o?"byteLength":"length",{maxTimeToFirstByteMs:r,maxLoadTimeMs:h}=n.loadPolicy;this.context=s,this.config=n,this.callbacks=e,this.request=this.fetchSetup(s,t),self.clearTimeout(this.requestTimeout),n.timeout=r&&j(r)?r:h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(a,s,this.response))},n.timeout),(tc(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(e=>{this.response=this.loader=e;var t,r=Math.max(self.performance.now(),a.loading.start);if(self.clearTimeout(this.requestTimeout),n.timeout=h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(a,s,this.response))},h-(r-a.loading.start)),!e.ok)throw{status:i,statusText:t}=e,new lg(t||"fetch, bad network response",i,e);a.loading.first=r,a.total=(e=>{var t=e.get("Content-Range");if(t){t=(e=>{if(e=Ms.exec(e))return parseInt(e[2])-parseInt(e[1])+1})(t);if(j(t))return t}if(t=e.get("Content-Length"))return parseInt(t)})(e.headers)||a.total;var i=null==(t=this.callbacks)?void 0:t.onProgress;return i&&j(n.highWaterMark)?this.loadProgressively(e,a,s,n.highWaterMark,i):o?e.arrayBuffer():"json"===s.responseType?e.json():e.text()}).then(e=>{var t=this.response;if(!t)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),a.loading.end=Math.max(self.performance.now(),a.loading.first);var r=e[l],r=(r&&(a.loaded=a.total=r),{url:t.url,data:e,code:t.status}),i=null==(i=this.callbacks)?void 0:i.onProgress;i&&!j(n.highWaterMark)&&i(a,s,e,t),null!=(i=this.callbacks)&&i.onSuccess(r,a,s,t)}).catch(e=>{var t,r,i;self.clearTimeout(this.requestTimeout),a.aborted||(r=e&&e.code||0,i=e?e.message:null,null!=(t=this.callbacks)&&t.onError({code:r,text:i},s,e?e.details:null,a))})}getCacheAge(){let e=null;var t;return this.response&&(t=this.response.headers.get("age"),e=t?parseFloat(t):null),e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(r,i,s,n=0,a){let o=new dp,e=r.body.getReader(),l=()=>e.read().then(e=>{var t;return e.done?(o.dataLength&&a(i,s,o.flush().buffer,r),Promise.resolve(new ArrayBuffer(0))):(t=(e=e.value).length,i.loaded+=t,t=n&&a(i,s,o.flush().buffer,r)):a(i,s,e.buffer,r),l())}).catch(()=>Promise.reject());return l()}}function ou(e,t){return new self.Request(e.url,t)}class lg extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}}let Fs=/^age:\s*[\d.]+\s*$/im;class hg{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Gf,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState)&&(this.stats.aborted=!0,e.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:s}=this;if(e&&s){let r=this.loader=new self.XMLHttpRequest,i=this.stats,t=(i.loading.first=0,i.loaded=0,i.aborted=!1,this.xhrSetup);t?Promise.resolve().then(()=>{if(this.loader===r&&!this.stats.aborted)return t(r,s.url)}).catch(e=>{if(this.loader===r&&!this.stats.aborted)return r.open("GET",s.url,!0),t(r,s.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,s,e)}).catch(e=>{var t;null!=(t=this.callbacks)&&t.onError({code:r.status,text:e.message},s,r,i)}):this.openAndSendXhr(r,s,e)}}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);var i=t.headers,{maxTimeToFirstByteMs:s,maxLoadTimeMs:n}=r.loadPolicy;if(i)for(var a in i)e.setRequestHeader(a,i[a]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=s&&j(s)?s:n,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){var{context:e,loader:t,stats:r}=this;if(e&&t){var i=t.readyState,s=this.config;if(!r.aborted&&2<=i&&(0===r.loading.first&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),s.timeout!==s.loadPolicy.maxLoadTimeMs)&&(self.clearTimeout(this.requestTimeout),s.timeout=s.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start))),4===i)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var i=t.status,n="text"===t.responseType?t.responseText:null;if(200<=i&&i<300){var n=null!=n?n:t.response;if(null!=n)return r.loading.end=Math.max(self.performance.now(),r.loading.first),a="arraybuffer"===t.responseType?n.byteLength:n.length,r.loaded=r.total=a,r.bwEstimate=8e3*r.total/(r.loading.end-r.loading.first),(a=null==(a=this.callbacks)?void 0:a.onProgress)&&a(r,e,n,t),a={url:t.responseURL,data:n,code:i},void(null!=(n=this.callbacks)&&n.onSuccess(a,r,e,t))}var a,n=s.loadPolicy.errorRetry;zl(n,r.retry,!1,{url:e.url,data:void 0,code:i})?this.retry(n):(H.error(i+" while loading "+e.url),null!=(a=this.callbacks)&&a.onError({code:i,text:t.statusText},e,t,r))}}}loadtimeout(){var e;this.config&&(zl(e=this.config.loadPolicy.timeoutRetry,this.stats.retry,!0)?this.retry(e):(H.warn("timeout while loading "+(null==(e=this.context)?void 0:e.url)),(e=this.callbacks)&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))))}retry(e){var{context:t,stats:r}=this;this.retryDelay=jl(e,r.retry),r.retry++,H.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;var t;return this.loader&&Fs.test(this.loader.getAllResponseHeaders())&&(t=this.loader.getResponseHeader("age"),e=t?parseFloat(t):null),e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let Ns=on(on({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:hg,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Wf,bufferController:Op,capLevelController:Mp,errorController:qf,fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){var r=this.hls.config;r.capLevelOnFPSDrop&&(t=t.media instanceof self.HTMLVideoElement?t.media:null,(this.media=t)&&"function"==typeof t.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod))}onMediaDetaching(){this.media=null}checkFPS(e,t,r){var i,s,n,a,o=performance.now();t&&(this.lastTime&&(a=o-this.lastTime,i=r-this.lastDroppedFrames,s=t-this.lastDecodedFrames,a=1e3*i/a,(n=this.hls).trigger(X.FPS_DROP,{currentDropped:i,currentDecoded:s,totalDroppedFrames:r}),0n.config.fpsDroppedMonitoringThreshold*s&&(a=n.currentLevel,n.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+a),0=a)&&(a-=1,n.trigger(X.FPS_DROP_LEVEL_CAPPING,{level:a,droppedLevel:n.currentLevel}),n.autoLevelCapping=a,this.streamController.nextLevelSwitch()),this.lastTime=o,this.lastDroppedFrames=r,this.lastDecodedFrames=t)}checkFPSInterval(){var e,t=this.media;t&&(this.isVideoPlaybackQualityAvailable?(e=t.getVideoPlaybackQuality(),this.checkFPS(t,e.totalVideoFrames,e.droppedVideoFrames)):this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount))}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:gi,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:Os,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:Yp,subtitleTrackController:Vp,timelineController:ag,audioStreamController:Rp,audioTrackController:Pp,emeController:Bp,cmcdController:class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:_.MANIFEST,su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{var{frag:t,part:r}=e,i=this.hls.levels[t.level],s=this.getObjectType(t),n={d:1e3*(r||t).duration,ot:s},a=(s!==_.VIDEO&&s!==_.AUDIO&&s!=_.MUXED||(n.br=i.bitrate/1e3,n.tb=this.getTopBandwidth(s)/1e3,n.bl=this.getBufferLength(s)),r?this.getNextPart(r):this.getNextFrag(t));null!=a&&a.url&&a.url!==t.url&&(n.nor=a.url),this.apply(e,n)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var t=this.config=e.config,r=t.cmcd;null!=r&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||e.sessionId,this.cid=r.contentId,this.useHeaders=!0===r.useHeaders,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){var e=this.hls;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHED,this.onMediaDetached,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){var e=this.hls;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHED,this.onMediaDetached,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r;this.audioBuffer=null==(r=t.tracks.audio)?void 0:r.buffer,this.videoBuffer=null==(r=t.tracks.video)?void 0:r.buffer}createData(){var e;return{v:1,sf:Hi.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,r={}){an(r,this.createData());var t=r.ot===_.INIT||r.ot===_.VIDEO||r.ot===_.MUXED;this.starved&&t&&(r.bs=!0,r.su=!0,this.starved=!1),null==r.su&&(r.su=this.buffering);let i=this.includeKeys;i&&(r=Object.keys(r).reduce((e,t)=>(i.includes(t)&&(e[t]=r[t]),e),{}));t={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),_c(e.headers,r,t)):e.url=wc(e.url,r,t)}getNextFrag(e){var t=null==(t=this.hls.levels[e.level])?void 0:t.details;if(t)return e=e.sn-t.startSN,t.fragments[1+e]}getNextPart(e){var t,{index:r,fragment:e}=e,i=null==(t=this.hls.levels[e.level])||null==(t=t.details)?void 0:t.partList;if(i){var s=e.sn;for(let e=i.length-1;0<=e;e--){var n=i[e];if(n.index===r&&n.fragment.sn===s)return i[e+1]}}}getObjectType(e){var t=e.type;return"subtitle"===t?_.TIMED_TEXT:"initSegment"===e.sn?_.INIT:"audio"===t?_.AUDIO:"main"===t?this.hls.audioTracks.length?_.VIDEO:_.MUXED:void 0}getTopBandwidth(e){let t=0,r;var i=this.hls;return(r=e===_.AUDIO?i.audioTracks:(e=-1<(e=i.maxAutoLevel)?e+1:i.levels.length,i.levels.slice(0,e))).forEach(e=>{e.bitrate>t&&(t=e.bitrate)}),0(e[t]=lu(r[t]),e),{}):r}function hu(e,t){var r=e.loader;r!==og&&r!==hg?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):(()=>{if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1})()&&(e.loader=og,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}class dg extends ip{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{var e;this.hls&&(this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(X.MEDIA_ENDED,{stalled:!1}))},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;t=this.media=t.media;od(t,"playing",this.onMediaPlaying),od(t,"waiting",this.onMediaWaiting),od(t,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();var r=this.media;r&&(ld(r,"playing",this.onMediaPlaying),ld(r,"waiting",this.onMediaWaiting),ld(r,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return 0i.end(0)){var s=Tn.bufferedInfo(Tn.timeRangesToArray(this.buffered.audio),t,0);if(1=s.start){s=Tn.timeRangesToArray(i),i=Tn.bufferedInfo(s,r,0).bufferedIndex;if(-1 ${s} buffered index: `+r);this.warn(i.message),this.media.currentTime+=1e-6;let e=uu(t,this.fragmentTracker);e=e&&"fragment"in e?e.fragment:e||void 0;n=Tn.bufferInfo(this.media,t,0);this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,frag:e,buffer:n.len,bufferInfo:n})}}}}}_tryFixBufferStall(e,t,r){var{fragmentTracker:i,media:s}=this,n=null==(n=this.hls)?void 0:n.config;if(s&&i&&n){s=null==(s=this.hls)?void 0:s.latestLevelDetails,i=uu(r,i);if(i||null!=s&&s.live&&rn.maxBufferHole||e.nextStart&&(e.nextStart-r1e3*n.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}}adjacentTraversal(e,t){var r=this.fragmentTracker,e=e.nextStart;if(r&&e){t=r.getFragAtPos(t,nn),r=r.getFragAtPos(e,nn);if(t&&r)return r.sn-t.sn<2}return!1}_reportStall(e){var{hls:t,media:r,stallReported:i,stalled:s}=this;!i&&null!==s&&r&&t&&(this.stallReported=!0,i=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${$(e)})`),this.warn(i.message),t.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:e.len,bufferInfo:e,stalled:{start:s}}))}_trySkipBufferHole(r){var{fragmentTracker:i,media:e}=this,t=null==(t=this.hls)?void 0:t.config;if(e&&i&&t){var s=e.currentTime,n=Tn.bufferInfo(e,s,0),a=st.maxBufferHole){let e=!1;if(!(e=0===s&&(o=i.getAppendedFrag(0,nn))&&a{var e=fu();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class cg{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(X.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){this.media=t.media,!1===(null==(t=t.overrides)?void 0:t.cueRemoval)&&(this.removeCues=!1)}onMediaAttached(){var e=null==(e=this.hls)?void 0:e.latestLevelDetails;e&&this.updateDateRangeCues(e)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&Dc(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){e=this.getID3Track(e.textTracks);return e.mode="hidden",e}getID3Track(t){if(this.media){for(let e=0;eUs?Us:t)-l<=0&&(t=l+.25);for(let e=0;ee.type===S.audioId3&&r:"video"===n?e=>e.type===S.emsg&&t:e=>e.type===S.audioId3&&r||e.type===S.emsg&&t)}}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){.01!n.includes(e));for(let e=d.length;e--;){var c,u=d[e];let t=null==(c=a[u])?void 0:c.cues;delete a[u],t&&Object.keys(t).forEach(e=>{e=t[e];if(e){e.removeEventListener("enter",this.onEventCueEnter);try{r.removeCue(e)}catch(e){}}})}}else a=this.dateRangeCuesAppended={};o=t.fragments[t.fragments.length-1];if(0!==n.length&&j(null==o?void 0:o.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e{if(t!==r.id){t=s[t];if(t.class===r.class&&t.startDate>r.startDate&&(!e||r.startDate{var e,t,r,i=this.media,s=this.levelDetails;i&&s&&(this.currentTime=i.currentTime,null!==(e=this.computeLatency()))&&(this._latency=e,{lowLatencyMode:t,maxLiveSyncPlaybackRate:r}=this.config,t)&&1!==r&&s.live&&null!==(t=this.targetLatency)&&((e=e-t){e.loadError=0,e.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let d=this.hls.config.preferManagedMediaSource,c=[],u={},f={},p=!1,g=!1,m=!1;t.levels.forEach(e=>{var t=e.attrs;let{audioCodec:r,videoCodec:i}=e;r&&(e.audioCodec=r=fl(r,d)||void 0),i=i&&(e.videoCodec=(e=>{var t=e.split(",");for(let e=0;e(!!e||!(!r||!i))&&!!(e=t)&&-1{if(this.hls){let e="no level with compatible codecs found in manifest",t=e;i.levels.length&&(t="one or more CODECS in variant not supported: "+$(i.levels.map(e=>e.attrs.CODECS).filter((e,t,r)=>r.indexOf(e)===t)),this.warn(t),e+=` (${t})`);var r=new Error(e);this.hls.trigger(X.ERROR,{type:W.MEDIA_ERROR,details:q.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:i.url,error:r,reason:t})}}),e.end=performance.now();else{i.audioTracks&&gu(a=i.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),i.subtitles&&gu(o=i.subtitles);var h=l.slice(0);l.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return ai.indexOf(e.videoRange)-ai.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var r=cl(e.videoCodec),i=cl(t.videoCodec);if(r!==i)return i-r}if(e.uri===t.uri&&e.codecSet!==t.codecSet){i=ul(e.codecSet),r=ul(t.codecSet);if(i!==r)return r-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let t=h[0];if(this.steering&&(l=this.steering.filterParsedLevels(l)).length!==h.length)for(let e=0;e!!e.url)};e.end=performance.now(),this.hls.trigger(X.MANIFEST_PARSED,f)}}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var r=new Error("invalid level idx"),i=e<0;if(this.hls.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.LEVEL_SWITCH_ERROR,level:e,fatal:i,error:r,reason:r.message}),i)return;e=Math.min(e,t.length-1)}var r=this.currentLevelIndex,i=this.currentLevel,s=i?i.attrs["PATHWAY-ID"]:void 0,t=t[e],n=t.attrs["PATHWAY-ID"];this.currentLevelIndex=e,this.currentLevel=t,r===e&&i&&s===n||(this.log(`Switching to level ${e} (${t.height?t.height+"p ":""}${t.videoRange?t.videoRange+" ":""}${t.codecSet?t.codecSet+" ":""}@${t.bitrate})${n?" with Pathway "+n:""} from level `+r+(s?" with Pathway "+s:"")),n={level:e,attrs:t.attrs,details:t.details,bitrate:t.bitrate,averageBitrate:t.averageBitrate,maxBitrate:t.maxBitrate,realBitrate:t.realBitrate,width:t.width,height:t.height,codecSet:t.codecSet,audioCodec:t.audioCodec,videoCodec:t.videoCodec,audioGroups:t.audioGroups,subtitleGroups:t.subtitleGroups,loaded:t.loaded,loadError:t.loadError,fragmentError:t.fragmentError,name:t.name,id:t.id,uri:t.uri,url:t.url,urlId:0,audioGroupIds:t.audioGroupIds,textGroupIds:t.textGroupIds},this.hls.trigger(X.LEVEL_SWITCHING,n),(r=t.details)&&!r.live)||(s=this.switchParams(t.uri,null==i?void 0:i.details,r),this.loadPlaylist(s))}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){var e;return void 0===this._startLevel?void 0!==(e=this.hls.config.startLevel)?e:this.hls.firstAutoLevel:this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways();var r=e.filter(e=>-1!==t.indexOf(e));e.length<1?this.warn(`pathwayPriority ${e} should contain at least one pathway from list: `+t):this.steering.pathwayPriority=r}}onError(e,t){!t.fatal&&t.context&&t.context.type===bo&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:r}){if(void 0!==r&&r.type===nn){let t=r.elementaryStreams;Object.keys(t).some(e=>!!t[e])&&null!=(r=this._levels[r.level])&&r.loadError&&(this.log(`Resetting level error count of ${r.loadError} on frag buffered`),r.loadError=0)}}onLevelLoaded(e,t){var{level:r,details:i}=t,s=t.levelInfo;if(s)if(s===this.currentLevel||t.withoutMultiVariant){0===s.fragmentError&&(s.loadError=0);let e=s.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(r,t,e)}else null!=(s=t.deliveryDirectives)&&s.skip&&(i.deltaUpdateFailed=!0);else this.warn("Invalid level index "+r),null!=(s=t.deliveryDirectives)&&s.skip&&(i.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);var r=this.getUrlWithDirectives(e.uri,t),i=this.currentLevelIndex,s=e.attrs["PATHWAY-ID"],n=e.details,a=null==n?void 0:n.age;this.log(`Loading level index ${i}${void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:""}${s?" Pathway "+s:""}${a&&n.live?" age "+a.toFixed(1)+(n.type?" "+n.type||0:""):""} `+r),this.hls.trigger(X.LEVEL_LOADING,{url:r,level:i,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(r){var e,t;1!==this._levels.length&&(ed(e=this._levels.filter((e,t)=>t!==r||(this.steering&&this.steering.removeLevel(e),e===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,e.details)&&e.details.fragments.forEach(e=>e.level=-1),!1))),this._levels=e,-1{var t=e.groupId||"";e.id=r[t]=r[t]||0,r[t]++})}function mu(){return self.SourceBuffer||self.WebKitSourceBuffer}function vu(){var e;return!!Io()&&(!(e=mu())||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove)}class pg extends hp{constructor(e,t,r){super(e,t,r,"stream-controller",nn),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{var e=this.media,t=e?e.currentTime:null;null!==t&&j(t)&&(this.log("Media seeked to "+t.toFixed(3)),this.getBufferedFrag(t))&&(null===(e=this.getFwdBufferInfoAtPos(e,t,nn,0))||0===e.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${e?e.len:"empty"})`):this.tick())},this.registerListeners()}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();var e=this.hls;e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){var{lastCurrentTime:r,hls:i}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=i.startLevel;-1===e&&(i.config.testBandwidth&&1i.end&&(this.backtrackFragment=null);var a,o,t=this.backtrackFragment?this.backtrackFragment.start:i.end;let e=this.getNextFragment(t,n);this.couldBacktrack&&!this.fragPrevious&&e&&ln(e)&&this.fragmentTracker.getState(e)!==nh?(a=(null!=(a=this.backtrackFragment)?a:e).sn-n.startSN,(a=n.fragments[a-1])&&e.cc===a.cc&&(e=a,this.fragmentTracker.removeFragment(a))):this.backtrackFragment&&i.len&&(this.backtrackFragment=null),e&&this.isLoopLoading(e,t)&&(e.gap||(o=((a=this.audioOnly&&!this.altAudio?$o:Vo)===Vo?this.videoBuffer:this.mediaBuffer)||this.media)&&this.afterBufferFlushed(o,a,nn),e=this.getNextFragmentLoopLoading(e,n,i,nn,r)),e&&(!e.initSegment||e.initSegment.data||this.bitrateTest||(e=e.initSegment),this.loadFragment(e,s,t))}}}}}}}loadFragment(e,t,r){var i=this.fragmentTracker.getState(e);i===rh||i===sh?ln(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,r):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,nn)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){var{levels:t,media:r}=this;if(null!=r&&r.readyState){let e;var i=this.getAppendedFrag(r.currentTime),i=(i&&1=s-n.maxFragLookUpTolerance&&r<=i,null!==t)&&a.duration>t&&(r{this.hls&&this.hls.trigger(X.AUDIO_TRACK_SWITCHED,t)}),i.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null})):i.trigger(X.AUDIO_TRACK_SWITCHED,t))}onAudioTrackSwitched(e,t){var r,t=Ol(t.url,this.hls);t&&(r=this.videoBuffer)&&this.mediaBuffer!==r&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=r),this.altAudio=t?2:0,this.tick()}onBufferCreated(e,t){var r,i=t.tracks;let s,n,a=!1;for(r in i){var o=i[r];"main"===o.id?(n=r,s=o,"video"===r&&(o=i[r])&&(this.videoBuffer=o.buffer)):a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){var{frag:t,part:r}=t,i=t.type===nn;if(i){if(this.fragContextChanged(t))return this.warn(`Fragment ${t.sn}${r?" p: "+r.index:""} of level ${t.level} finished buffering, but was aborted. state: `+this.state),void(this.state===E.PARSED&&(this.state=E.IDLE));var s=(r||t).stats;this.fragLastKbps=Math.round(8*s.total/(s.buffering.end-s.loading.first)),ln(t)&&(this.fragPrevious=t),this.fragBufferedComplete(t,r)}s=this.media;s&&(!this._hasEnoughToStart&&Tn.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),i)&&this.tick()}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var r;if(t.fatal)this.state=E.ERROR;else switch(t.details){case q.FRAG_GAP:case q.FRAG_PARSING_ERROR:case q.FRAG_DECRYPT_ERROR:case q.FRAG_LOAD_ERROR:case q.FRAG_LOAD_TIMEOUT:case q.KEY_LOAD_ERROR:case q.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(nn,t);break;case q.LEVEL_LOAD_ERROR:case q.LEVEL_LOAD_TIMEOUT:case q.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==E.WAITING_LEVEL||(null==(r=t.context)?void 0:r.type)!==bo||(this.state=E.IDLE);break;case q.BUFFER_ADD_CODEC_ERROR:case q.BUFFER_APPEND_ERROR:"main"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case q.BUFFER_FULL_ERROR:"main"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case q.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=E.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){var r;t===$o&&this.altAudio||(r=(t===Vo?this.videoBuffer:this.mediaBuffer)||this.media)&&(this.afterBufferFlushed(r,t,nn),this.tick())}onLevelsUpdated(e,t){-1{var t,r=this.hls,i=null==e?void 0:e.frag;i&&!this.fragContextChanged(i)&&(s.fragmentError=0,this.state=E.IDLE,this.startFragRequested=!1,this.bitrateTest=!1,(t=i.stats).parsing.start=t.parsing.end=t.buffering.start=t.buffering.end=self.performance.now(),r.trigger(X.FRAG_LOADED,e),i.bitrateTest=!1)}).catch(e=>{this.state!==E.STOPPED&&this.state!==E.ERROR&&(this.warn(e),this.resetFragmentLoading(t))})}_handleTransmuxComplete(e){var t=this.playlistType,r=this.hls,{remuxResult:e,chunkMeta:i}=e,s=this.getCurrentContext(i);if(s){var{frag:s,part:n,level:a}=s,{video:o,text:l,id3:h,initSegment:d}=e,c=a.details,u=this.altAudio?void 0:e.audio;if(this.fragContextChanged(s))this.fragmentTracker.removeFragment(s);else{if(this.state=E.PARSING,d){var f=d.tracks;if(f){var p=s.initSegment||s;if(this.unhandledEncryptionError(d,s))return;this._bufferInitSegment(a,f,p,i),r.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:p,id:t,tracks:f})}var a=d.initPTS,p=d.timescale,f=this.initPTS[s.cc];!j(a)||f&&f.baseTime===a&&f.timescale===p||(f=d.trackId,this.initPTS[s.cc]={baseTime:a,timescale:p,trackId:f},r.trigger(X.INIT_PTS_FOUND,{frag:s,id:t,initPTS:a,timescale:p,trackId:f}))}if(o&&c){u&&"audiovideo"===o.type&&this.logMuxedErr(s);var d=c.fragments[s.sn-1-c.startSN],a=s.sn===c.startSN,p=!d||s.cc>d.cc;if(!1!==e.independent){var{startPTS:f,endPTS:d,startDTS:e,endDTS:g}=o;if(n)n.elementaryStreams[o.type]={startPTS:f,endPTS:d,startDTS:e,endDTS:g};else if(o.firstKeyFrame&&o.independent&&1===i.id&&!p&&(this.couldBacktrack=!0),o.dropped&&o.independent){var m=this.getMainFwdBufferInfo(),m=(m?m.end:this.getLoadPosition())+this.config.maxBufferHole,v=o.firstKeyFramePTS||f;if(!a&&m{var t=r[e].initSegment;null!=t&&t.byteLength&&this.hls.trigger(X.BUFFER_APPENDING,{type:e,data:t,frag:i,part:null,chunkMeta:s,parent:i.type})})}this.tickImmediate()}}getMainFwdBufferInfo(){var e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,nn)}get maxBufferLength(){var{levels:e,level:t}=this,e=null==e?void 0:e[t];return e?this.getMaxBufferLength(e.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=E.IDLE}checkFragmentChanged(){var e,t=this.media;let r=null;t&&1{if(this.emeController)return t.setKeyFormat(e),(e=Rh(e))?this.emeController.getKeySystemAccess([e]):void 0})}if(this.config.requireKeySystemAccessOnStart){var e=Ph(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(t){return!t.decryptdata&&t.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(t).then(e=>this.loadInternal(t,e)):this.loadInternal(t)}loadInternal(t,e){var r;e&&t.setKeyFormat(e);let i=t.decryptdata;if(!i)return e=new Error(e?"Expected frag.decryptdata to be defined after setting format "+e:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`),Promise.reject(this.createKeyLoadError(t,q.KEY_LOAD_ERROR,e));e=i.uri;if(!e)return Promise.reject(this.createKeyLoadError(t,q.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${e}"`)));e=yu(i);let s=this.keyIdToKeyInfo[e];if(null!=(r=s)&&r.decryptdata.key)return i.key=s.decryptdata.key,Promise.resolve({frag:t,keyInfo:s});if(this.emeController&&null!=(r=s)&&r.keyLoadPromise)switch(this.emeController.getKeyStatus(s.decryptdata)){case"usable":case"usable-in-future":return s.keyLoadPromise.then(e=>{e=e.keyInfo;return i.key=e.decryptdata.key,{frag:t,keyInfo:e}})}switch(this.log(`${this.keyIdToKeyInfo[e]?"Rel":"L"}oading${i.keyId?" keyId: "+Po(i.keyId):""} URI: ${i.uri} from ${t.type} `+t.level),s=this.keyIdToKeyInfo[e]={decryptdata:i,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},i.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===i.keyFormat?this.loadKeyHTTP(s,t):this.loadKeyEME(s,t);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(s,t);default:return Promise.reject(this.createKeyLoadError(t,q.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${i.method}"`)))}}loadKeyEME(t,r){let i={frag:r,keyInfo:t};var e;return this.emeController&&this.config.emeEnabled?(!t.decryptdata.keyId&&null!=(e=r.initSegment)&&e.data&&(e=(e=>{let t=[];return Qo(e,e=>t.push(e.subarray(8,24))),t})(r.initSegment.data)).length&&(e=e[0]).some(e=>0!==e)&&(this.log("Using keyId found in init segment "+Po(e)),t.decryptdata.keyId=e,op.setKeyIdForUri(t.decryptdata.uri,e)),e=this.emeController.loadKey(i),(t.keyLoadPromise=e.then(e=>(t.mediaKeySessionContext=e,i))).catch(e=>{throw t.keyLoadPromise=null,"data"in e&&(e.data.frag=r),e})):Promise.resolve(i)}loadKeyHTTP(r,n){let i=this.config;let l=new i.loader(i);return n.keyLoader=r.loader=l,r.keyLoadPromise=new Promise((a,o)=>{let s={keyInfo:r,frag:n,responseType:"arraybuffer",url:r.decryptdata.uri};var e=i.keyLoadPolicy.default,e={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},t={onSuccess:(e,t,r,i)=>{var{frag:r,keyInfo:s}=r,n=yu(s.decryptdata);if(!r.decryptdata||s!==this.keyIdToKeyInfo[n])return o(this.createKeyLoadError(r,q.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),i));s.decryptdata.key=r.decryptdata.key=new Uint8Array(e.data),r.keyLoader=null,s.loader=null,a({frag:r,keyInfo:s})},onError:(e,t,r,i)=>{this.resetLoader(t),o(this.createKeyLoadError(n,q.KEY_LOAD_ERROR,new Error(`HTTP Error ${e.code} loading key `+e.text),r,on({url:s.url,data:void 0},e)))},onTimeout:(e,t,r)=>{this.resetLoader(t),o(this.createKeyLoadError(n,q.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),r))},onAbort:(e,t,r)=>{this.resetLoader(t),o(this.createKeyLoadError(n,q.INTERNAL_ABORTED,new Error("key loading aborted"),r))}};l.load(s,e,t)})}resetLoader(e){var{frag:e,keyInfo:t,url:r}=e,i=t.loader,e=(e.keyLoader===i&&(e.keyLoader=null,t.loader=null),yu(t.decryptdata)||r);delete this.keyIdToKeyInfo[e],i&&i.destroy()}}function yu(e){if(e.keyFormat!==Lh){var t=e.keyId;if(t)return Po(t)}return e.uri}function bu(e){e=e.type;switch(e){case Eo:return So;case To:return _o;default:return nn}}function Eu(e,t){let r=e.url;return r=void 0!==r&&0!==r.indexOf("data:")?r:t.url}class mg{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){var e=this.hls;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){var t=this.hls.config,t=new(t.pLoader||t.loader)(t);return this.loaders[e.type]=t}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){t=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:yo,url:t,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){var{id:t,level:r,pathwayId:i,url:s,deliveryDirectives:n,levelInfo:a}=t;this.load({id:t,level:r,pathwayId:i,responseType:"text",type:bo,url:s,deliveryDirectives:n,levelOrTrack:a})}onAudioTrackLoading(e,t){var{id:t,groupId:r,url:i,deliveryDirectives:s,track:n}=t;this.load({id:t,groupId:r,level:null,responseType:"text",type:Eo,url:i,deliveryDirectives:s,levelOrTrack:n})}onSubtitleTrackLoading(e,t){var{id:t,groupId:r,url:i,deliveryDirectives:s,track:n}=t;this.load({id:t,groupId:r,level:null,responseType:"text",type:To,url:i,deliveryDirectives:s,levelOrTrack:n})}onLevelsUpdated(e,r){var i=this.loaders[bo];if(i){let t=i.context;t&&!r.levels.some(e=>e===t.levelOrTrack)&&(i.abort(),delete this.loaders[bo])}}load(t){var r=this.hls.config;let e=this.getInternalLoader(t);if(e){var i=this.hls.logger,s=e.context;if(s&&s.levelOrTrack===t.levelOrTrack&&(s.url===t.url||s.deliveryDirectives&&!t.deliveryDirectives))return void(s.url===t.url?i.log(`[playlist-loader]: ignore ${t.url} ongoing request`):i.log(`[playlist-loader]: ignore ${t.url} in favor of `+s.url));i.log("[playlist-loader]: aborting previous loader for type: "+t.type),e.abort()}let n;if(n=t.type===yo?r.manifestLoadPolicy.default:an({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),e=this.createInternalLoader(t),j(null==(s=t.deliveryDirectives)?void 0:s.part)){let e;t.type===bo&&null!==t.level?e=this.hls.levels[t.level].details:t.type===Eo&&null!==t.id?e=this.hls.audioTracks[t.id].details:t.type===To&&null!==t.id&&(e=this.hls.subtitleTracks[t.id].details),e&&(i=e.partTarget,r=e.targetduration,i)&&r&&(s=1e3*Math.max(3*i,.8*r),n=an({},n,{maxTimeToFirstByteMs:Math.min(s,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(s,n.maxTimeToFirstByteMs)}))}i=n.errorRetry||n.timeoutRetry||{},r={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:i.maxNumRetry||0,retryDelay:i.retryDelayMs||0,maxRetryDelay:i.maxRetryDelayMs||0};e.load(t,r,{onSuccess:(e,t,r,i)=>{var s=this.getInternalLoader(r),n=(this.resetInternalLoader(r.type),e.data);t.parsing.start=performance.now(),lp.isMediaPlaylist(n)||r.type!==yo?this.handleTrackOrLevelPlaylist(e,t,r,i||null,s):this.handleMasterPlaylist(e,t,r,i)},onError:(e,t,r,i)=>{this.handleNetworkError(t,r,!1,e,i)},onTimeout:(e,t,r)=>{this.handleNetworkError(t,r,!0,void 0,e)}})}checkAutostartLoad(){var e,t,r;this.hls&&({config:{autoStartLoad:e,startPosition:t},forceStartLoad:r}=this.hls,e||r)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition `+t),this.hls.startLoad(t))}handleMasterPlaylist(e,t,r,i){var s,n,a,o,l,h=this.hls,d=e.data,c=Eu(e,r),u=lp.parseMasterPlaylist(d,c);u.playlistParsingError?(t.parsing.end=performance.now(),this.handleManifestParsingError(e,r,u.playlistParsingError,i,t)):({contentSteering:e,levels:r,sessionData:s,sessionKeys:n,startTimeOffset:a,variableList:o}=u,{AUDIO:d=[],SUBTITLES:u,"CLOSED-CAPTIONS":l}=(this.variableList=o,r.forEach(i=>{var s=i.unknownCodecs;if(s){var n=this.hls.config.preferManagedMediaSource;let{audioCodec:t,videoCodec:r}=i;for(let e=s.length;e--;){var a=s[e];ll(a,"audio",n)?(i.audioCodec=t=t?t+","+a:a,ei.audio[t.substring(0,4)]=2,s.splice(e,1)):ll(a,"video",n)&&(i.videoCodec=r=r?r+","+a:a,ei.video[r.substring(0,4)]=2,s.splice(e,1))}}}),lp.parseMasterPlaylistMedia(d,c,u)),d.length&&!d.some(e=>!e.url)&&r[0].audioCodec&&!r[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Sn({}),bitrate:0,url:""})),h.trigger(X.MANIFEST_LOADED,{levels:r,audioTracks:d,subtitles:u,captions:l,contentSteering:e,url:c,stats:t,networkDetails:i,sessionData:s,sessionKeys:n,startTimeOffset:a,variableList:o}))}handleTrackOrLevelPlaylist(e,t,r,i,s){var n=this.hls,{id:a,level:o,type:l}=r,h=Eu(e,r),o=j(o)?o:j(a)?a:0,a=bu(r),o=lp.parseLevelPlaylist(e.data,h,o,a,0,this.variableList);l===yo&&(a={attrs:new Sn({}),bitrate:0,details:o,name:"",url:h},o.requestScheduled=t.loading.start+Xh(o,0),n.trigger(X.MANIFEST_LOADED,{levels:[a],audioTracks:[],url:h,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})),t.parsing.end=performance.now(),r.levelDetails=o,this.handlePlaylistLoaded(o,e,t,r,i,s)}handleManifestParsingError(e,t,r,i,s){this.hls.trigger(X.ERROR,{type:W.NETWORK_ERROR,details:q.MANIFEST_PARSING_ERROR,fatal:t.type===yo,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:i,stats:s})}handleNetworkError(e,t,r=!1,i,s){let n=`A network ${r?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading `+e.type;e.type===bo?n+=`: ${e.level} id: `+e.id:e.type!==Eo&&e.type!==To||(n+=` id: ${e.id} group-id: "${e.groupId}"`);var a=new Error(n);this.hls.logger.warn("[playlist-loader]: "+n);let o=q.UNKNOWN,l=!1;var h=this.getInternalLoader(e);switch(e.type){case yo:o=r?q.MANIFEST_LOAD_TIMEOUT:q.MANIFEST_LOAD_ERROR,l=!0;break;case bo:o=r?q.LEVEL_LOAD_TIMEOUT:q.LEVEL_LOAD_ERROR,l=!1;break;case Eo:o=r?q.AUDIO_TRACK_LOAD_TIMEOUT:q.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case To:o=r?q.SUBTITLE_TRACK_LOAD_TIMEOUT:q.SUBTITLE_LOAD_ERROR,l=!1}h&&this.resetInternalLoader(e.type);h={type:W.NETWORK_ERROR,details:o,fatal:l,url:e.url,loader:h,context:e,error:a,networkDetails:t,stats:s};i&&(a=(null==t?void 0:t.url)||e.url,h.response=on({url:a,data:void 0},i)),this.hls.trigger(X.ERROR,h)}handlePlaylistLoaded(e,t,r,i,s,n){var a=this.hls,{type:o,level:l,levelOrTrack:h,id:d,groupId:c,deliveryDirectives:u}=i,f=Eu(t,i),p=bu(i);let g="number"==typeof i.level&&p===nn?l:void 0;var m,l=e.playlistParsingError;if(l){if(this.hls.logger.warn(l+" "+e.url),!a.config.ignorePlaylistParsingErrors)return void a.trigger(X.ERROR,{type:W.NETWORK_ERROR,details:q.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:l,reason:l.message,response:t,context:i,level:g,parent:p,networkDetails:s,stats:r});e.playlistParsingError=null}if(e.fragments.length)switch(e.live&&n&&(n.getCacheAge&&(e.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),o){case yo:case bo:g&&(h?h!==a.levels[g]&&-1<(m=a.levels.indexOf(h))&&(g=m):g=0),a.trigger(X.LEVEL_LOADED,{details:e,levelInfo:h||a.levels[0],level:g||0,id:d||0,stats:r,networkDetails:s,deliveryDirectives:u,withoutMultiVariant:o===yo});break;case Eo:a.trigger(X.AUDIO_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:c||"",stats:r,networkDetails:s,deliveryDirectives:u});break;case To:a.trigger(X.SUBTITLE_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:c||"",stats:r,networkDetails:s,deliveryDirectives:u})}else l=e.playlistParsingError=new Error("No Segments found in Playlist"),a.trigger(X.ERROR,{type:W.NETWORK_ERROR,details:q.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:l,reason:l.message,response:t,context:i,level:g,parent:p,networkDetails:s,stats:r})}}class vg{static get version(){return _i}static isMSESupported(){return vu()}static isSupported(){{if(!vu())return!1;let t=Io();return"function"==typeof(null==t?void 0:t.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>t.isTypeSupported(dl(e,"video")))||["mp4a.40.2","fLaC"].some(e=>t.isTypeSupported(dl(e,"audio"))))}}static getMediaSource(){return Io()}static get Events(){return X}static get MetadataSchema(){return S}static get ErrorTypes(){return W}static get ErrorDetails(){return q}static get DefaultConfig(){return vg.defaultConfig||Ns}static set DefaultConfig(e){vg.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new md,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;var t=this.logger=((t,e,r)=>{let i=Lo();if("object"==typeof console&&!0===t||"object"==typeof t){var s=["debug","log","info","warn","error"];s.forEach(e=>{i[e]=ko(e,t,r)});try{i.log(`Debug logs enabled for "${e}" in hls.js version 1.6.13`)}catch(e){return Lo()}s.forEach(e=>{qr[e]=ko(e,t)})}else an(qr,i);return i})(e.debug||!1,"Hls instance",e.assetPlayerId),r=this.config=((e,l,t)=>{if((l.liveSyncDurationCount||l.liveMaxLatencyDurationCount)&&(l.liveSyncDuration||l.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==l.liveMaxLatencyDurationCount&&(void 0===l.liveSyncDurationCount||l.liveMaxLatencyDurationCount<=l.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==l.liveMaxLatencyDuration&&(void 0===l.liveSyncDuration||l.liveMaxLatencyDuration<=l.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let h=lu(e),r=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(s=>{let n=`${"level"===s?"playlist":s}LoadPolicy`,a=void 0===l[n],o=[];r.forEach(e=>{var t=s+"Loading"+e,r=l[t];if(void 0!==r&&a){o.push(t);var i=h[n].default;switch(l[n]={default:i},e){case"TimeOut":i.maxLoadTimeMs=r,i.maxTimeToFirstByteMs=r;break;case"MaxRetry":i.errorRetry.maxNumRetry=r,i.timeoutRetry.maxNumRetry=r;break;case"RetryDelay":i.errorRetry.retryDelayMs=r,i.timeoutRetry.retryDelayMs=r;break;case"MaxRetryTimeout":i.errorRetry.maxRetryDelayMs=r,i.timeoutRetry.maxRetryDelayMs=r}}}),o.length&&t.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${n}": `+$(l[n]))}),on(on({},h),l)})(vg.DefaultConfig,e,t),{abrController:e,bufferController:t,capLevelController:i,errorController:s,fpsController:n}=(this.userConfig=e,r.progressive&&hu(r,t),r),s=new s(this),e=this.abrController=new e(this),a=new Xf(this),o=r.interstitialsController,o=o?this.interstitialsController=new o(this,vg):null,t=this.bufferController=new t(this,a),i=this.capLevelController=new i(this),n=new n(this),l=new mg(this),h=r.contentSteeringController,h=h?new h(this):null,d=this.levelController=new fg(this,h),c=new cg(this),u=new gg(this.config,this.logger),f=this.streamController=new pg(this,a,u),p=this.gapController=new dg(this,a),d=(i.setStreamController(f),n.setStreamController(f),[l,d,f]),f=(o&&d.splice(1,0,o),h&&d.splice(1,0,h),this.networkControllers=d,[e,t,p,i,n,c,a]),o=(this.audioTrackController=this.createController(r.audioTrackController,d),r.audioStreamController),h=(o&&d.push(this.audioStreamController=new o(this,a,u)),this.subtitleTrackController=this.createController(r.subtitleTrackController,d),r.subtitleStreamController),e=(h&&d.push(this.subtititleStreamController=new h(this,a,u)),this.createController(r.timelineController,f),u.emeController=this.emeController=this.createController(r.emeController,f),this.cmcdController=this.createController(r.cmcdController,f),this.latencyController=this.createController(ug,f),this.coreComponents=f,d.push(s),s.onErrorOut);"function"==typeof e&&this.on(X.ERROR,e,s),this.on(X.MANIFEST_LOADED,l.onManifestLoaded,l)}createController(e,t){return e?(e=new e(this),t&&t.push(e),e):null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,i){this._emitter.off(e,t,r,i)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(t,r){if(this.config.debug)return this.emit(t,t,r);try{return this.emit(t,t,r)}catch(e){this.logger.error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e),this.triggeringException||(this.triggeringException=!0,r=t===X.ERROR,this.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.INTERNAL_EXCEPTION,fatal:r,event:t,error:e}),this.triggeringException=!1)}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(X.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){var t,r;!e||"media"in e&&!e.media?(r=new Error(`attachMedia failed: invalid argument (${e})`),this.trigger(X.ERROR,{type:W.OTHER_ERROR,details:q.ATTACH_MEDIA_ERROR,fatal:!0,error:r})):(this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia()),t=(r="media"in e)?e.media:e,r=r?e:{media:t},this._media=t,this.trigger(X.MEDIA_ATTACHING,r))}detachMedia(){this.logger.log("detachMedia"),this.trigger(X.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;var e=this.bufferController.transferMedia();return this.trigger(X.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();var t=this.media,r=this._url,i=this._url=Bo.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log("loadSource:"+i),t&&r&&(r!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(X.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(t=-1,r){this.logger.log(`startLoad(${t+(r?", ":"")})`),this.started=!0,this.resumeBuffering();for(let e=0;e{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){var e={[nn]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[So]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[_o]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");var e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t)&&this.startLoad(t)}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e=e||(this._sessionId=(()=>{try{return crypto.randomUUID()}catch(e){try{var t=URL.createObjectURL(new Blob),r=t.toString();return URL.revokeObjectURL(t),r.slice(r.lastIndexOf("/")+1)}catch(e){let r=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)})}}})())}get levels(){var e=this.levelController.levels;return e||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log("set loadLevel:"+e),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log("set firstLevel:"+e),this.levelController.firstLevel=e}get startLevel(){var e=this.levelController.startLevel;return-1===e&&-1=r)return e}return 0}get maxAutoLevel(){var{levels:t,autoLevelCapping:e,maxHdcpLevel:r}=this;let i;if(i=-1===e&&null!=t&&t.length?t.length-1:e,r)for(let e=i;e--;){var s=t[e].attrs["HDCP-LEVEL"];if(s&&s<=r)return e}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){var e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){var e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!(null==(e=this.bufferController)||!e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return bl(e,Il(t),navigator.mediaCapabilities)}}vg.defaultConfig=void 0;var Tu=e`#player{display:block;background-color:#000;color:#fff;user-select:none;width:100%;position:relative;overflow:hidden;cursor:pointer;border-radius:var(--player-border-radius);box-shadow:var(--player-box-shadow)}#player.in-fullscreen{object-fit:contain;position:fixed;top:0;left:0;z-index:9999999;overflow:hidden}#player.fluid,#player.in-fullscreen{padding:0!important;margin:0;width:100%;height:100%}#player.fluid video,#player.in-fullscreen video{object-fit:contain}.controller{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;z-index:10;overflow:hidden}.controller-inner__top{display:flex;flex-direction:row}.controller-inner__bottom,.controller-inner__top--center{align-items:center;display:flex;justify-content:center}.controller-inner__top--center{flex:1}.controller-inner__bottom{transform:translateY(0);transition:transform 250ms ease 50ms}.show-controls .controller-inner__bottom:not(.controls-hidden){transform:translateY(calc(-1 * (var(--control-padding) * 2 + 1.5rem)))}.controller-inner__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.controller-spacer{flex:1}.video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:0}vturb-video-hls{width:100%;height:100%}video{width:100%;height:100%;object-position:center;position:absolute;top:0;left:0;pointer-events:none}`,Gs=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{this.iframeClient||(this.iframeClient=new Uf(this))},this.onPlayerClick=t=>{try{this.unlicensed||(this.controllers.blockers.noneBlocker("played")?this.togglePlay():this.controllers.bar.touch(t,()=>this.togglePlay()))}catch(e){this.logger.error("Failed to handle player click",{error:e,event:t})}},this.urlUpdater=(r,i)=>{try{return this.controllers.links.updaters.reduce((t,e)=>{try{return e(t,i)}catch(e){return this.logger.error("Failed to update URL",{element:i,error:e,url:r}),t}},r)}catch(e){return this.logger.error("Failed to update URL",{element:i,error:e,url:r}),r}}}get activeTrack(){return this.currentTrack}get subtitleTracks(){var e;return Array.from((null==(e=this.video)?void 0:e.textTracks)||[])}addEventListener(t,r,i){try{t===js.PLAYER_READY&&this.ready?(this.logger.debug("addEventListener already ready",{listener:r,options:i,type:t}),r.call(this,new CustomEvent(js.PLAYER_READY,{detail:{player:this}}))):super.addEventListener(t,r,i)}catch(e){this.logger.error("Failed to add player event listener",{error:e,listener:r,options:i,type:t})}}autoplay(e){this.videoAutoPlay=e}changeLicense(e){this.unlicensed=!e,this.deepUpdate()}checkAddRemoteDebugger(){window.location.search.includes("vrb=1")&&(this.logger.debug("Adding remote debugger"),((e,t,i,s,n={})=>{if(!e.getElementById(t)){let r=e.createElement(s);r.id=t,"script"===s?r.src=i:r.href=i,Object.entries(n).forEach(([e,t])=>{r.setAttribute(e,t)}),e.head.appendChild(r)}})(this.doc,"remote-debugger-script","https://remote-debugger.internal.vturb.com/target.js","script"))}connectedCallback(){super.connectedCallback(),this.addEventListener(js.VIDEO_PLAY,()=>{this.played=!0,this.paused=!1,this.alreadyPlayed=!0,this.requestUpdate()}),this.addEventListener(js.VIDEO_PAUSE,()=>{this.played=!1,this.paused=!0,this.requestUpdate()}),this.addEventListener(js.VIDEO_ENDED,()=>{this.requestUpdate()}),this.addEventListener(js.VIDEO_LOADEDMETADATA,()=>{var e,t;null!=(t=this.video)&&t.textTracks.length&&0<(t=Array.from(this.video.textTracks)).length&&null!=(e=this.config.subtitles)&&e.active&&this.setActiveTrack(t[0])}),this.checkAddRemoteDebugger(),this.observeVideoReady()}deepUpdate(){this.modules.forEach(e=>{e.requestUpdate()})}firstUpdated(e){let t=Object.create(null,{firstUpdated:{get:()=>super.firstUpdated}});return Su(this,void 0,void 0,function*(){t.firstUpdated.call(this,e),this.video&&(this.video.disableRemotePlayback=!0),yield this.updateComplete,this.logger.info("firstUpdated")})}observeVideoReady(){let e=[js.VIDEO_CANPLAY,js.VIDEO_CANPLAYTHROUGH,js.SMARTAUTOPLAY_VIDEO_READY,js.VIDEO_PLAY],i=()=>{e.forEach(e=>{this.removeEventListener(e,t)})},t=e=>{var t=this.controllers.blockers.anyBlocker("smartAutoPlay"),r=this.played;t&&e.type!==js.SMARTAUTOPLAY_VIDEO_READY&&!r?this.logger.debug("videoReady blocked",e.type):(this.logger.info("videoReady"),this.dispatchEvent(new CustomEvent(js.VIDEO_READY)),i())};e.forEach(e=>{this.addEventListener(e,t)})}registerModule(e){this.modules.push(e)}render(){if(this.destroyed)return c``;var e=((null==(e=this.video)?void 0:e.getBoundingClientRect())||{width:0}).width;let t=this.config;this.interface.fluid&&this.setFluid();var r={"already-played":this.controllers.blockers.anyBlocker("played"),fluid:this.interface.fluid,"has-fakebar":null==(r=t.fakeBar)?void 0:r.active,"has-rewind-forward":(null==(r=t.style)?void 0:r.rewind)&&(null==(r=t.style)?void 0:r.forward),"has-smallplay":t.style.smallPlay,"in-pause":this.paused,"in-play":this.played,"is-chrome":kn(),"is-desktop":!In(),"is-firefox":/firefox/i.test(window.navigator.userAgent),"is-mobile":In(),"is-safari":Rn(),"m-w-360":e<=360,"m-w-480":360${JSON.stringify(t,null,2)} ${rn(rr.shouldLoadHeadlines(t),()=>c``)}
{In()||this.controllers.bar.show()}} @mouseleave=${()=>{In()||this.controllers.bar.hide()}} @dblclick="${()=>{this.config.style.fullscreen&&!In()&&this.controllers.fullscreen.toggle()}}" @touchend="${e=>{this.config.style.fullscreen&&(e.timeStamp-(this.lastTouchEnd||0)<300?(e.preventDefault(),e.stopPropagation(),this.controllers.fullscreen.toggle(),this.lastTouchEnd=0):this.lastTouchEnd=e.timeStamp)}}" @click="${this.onPlayerClick}" > this.unlicensed=!0} >
${rn(!this.unlicensed,()=>c`{this.video=e.target.video,this.ready=!0,this.trackHlsChanges(e.detail.hls,e.detail.video)}} @first-segment-loaded=${e=>{this.controllers.kpis.trackTTFF()}} poster=${t.smartAutoPlay.active||this.played||this.controllers.blockers.anyBlocker("resume")?null:t.video.picStart} disablePictureInPicture="true" controlsList="nodownload noplaybackrate nofullscreen noremoteplayback" style="-webkit-media-controls-timeline-container: none; -webkit-media-controls-timeline: none;" .muted=${this.videoAutoPlay||this.muted} .autoplay=${this.videoAutoPlay} .hlsVideoPosition=${a} />`)}
${rn(this.ready&&!this.unlicensed,()=>{var e;return c`
${rn(t.style.bigPlay||t.style.temporaryBigPlay&&this.controllers.blockers.noneBlocker("played"),()=>c``)}
${rn(null==(e=t.subtitles)?void 0:e.active,()=>c``)}
${rn(t.resume.active,()=>c``)} ${rn(t.fakeBar.active,()=>c``)} ${rn(t.minihooks.active,()=>c``)} ${rn(b.shouldLoad(t.smartAutoPlay),()=>c``)} ${rn(t.thumbsniper.active||t.video.picFinish,()=>c``)} ${rn(t.pixels.active,()=>c``)} ${rn(d.shouldLoad(t,["inner_button"]),()=>c``)} ${rn(f.shouldLoad(t,"inside_video"),()=>c``)}
`})}
${rn(d.shouldLoad(t,["below_button","custom_html"]),()=>c``)} ${rn(f.shouldLoad(t,"outside_video"),()=>c``)} `}setActiveTrack(e){var t;null!=(t=this.video)&&t.textTracks&&(Array.from(this.video.textTracks).forEach(e=>{e.mode="hidden"}),this.currentTrack=e,this.dispatchEvent(new CustomEvent(js.SUBTITLE_TRACK_CHANGE,{detail:{track:e}})))}setFluid(){this.style.position="absolute",this.style.top="0",this.style.left="0",this.style.width="100%",this.style.height="100%",this.style.padding="0",this.style.margin="0",this.style.borderRadius="0",this.style.boxShadow="none",this.style.overflow="hidden",this.style.objectFit="contain"}setup(e){this.interface.setup(e)}togglePlay(){this.logger.group("debug","togglePlay").message("paused",this.paused).message("smallPlay",this.config.style.smallPlay).message("bigPlay",this.config.style.bigPlay).end(),(this.paused||this.config.style.smallPlay||this.config.style.bigPlay)&&(this.controls.toggle(),this.controllers.bar.show())}trackHlsChanges(e,t){if(e){let s=e.currentLevel;e.on(X.LEVEL_SWITCHING,(e,t)=>{this.logger.debug("level switching",{data:t,event:e})}),e.on(X.LEVEL_SWITCHED,(e,t)=>{this.logger.debug("level switched",{data:t,event:e,from:s,to:t.level})});let n=(e,t,r)=>{this.controllers.analytics.customEvent("hls_level_switched",{from:e,segment:r,to:t})};e.on(X.FRAG_LOADED,(e,t)=>{this.controllers.kpis.trackVideoSegmentLoaded({bytes:t.frag.stats.loaded,request:{end:t.frag.stats.loading.end,start:t.frag.stats.loading.start}});try{var{level:r,sn:i}=t.frag;r!==s&&"initSegment"!==i&&(n(s,r,i),this.logger.debug("Frag loaded in different level",{currentLevel:s,nextLevel:r,segmentNumber:i}),s=r)}catch(e){this.logger.error("error dispatching hls_level_switched",{e:e})}})}}videoAsync(){return Su(this,void 0,void 0,function*(){return new Promise((r,i)=>{if(this.video)r(this.video);else{let e=0,t=setInterval(()=>{e++,this.video&&(clearInterval(t),r(this.video)),20{if("triggerEvents"===e)return(e,t)=>t}});e="undefined"!=typeof navigator&&(navigator.language||navigator.userLanguage)||"en";var i,e=/^pt(-\w{,2})?/i.test(e)?"pt":/^es(-\w{,2})?/i.test(e)?"es":"en";return i=e,Ut=i,r.language=e,r.fakeBar&&Lu(r,"fakeBar.color",r.style.background),r.resume&&(r.resume.play=r.resume.play||s("resume.play"),r.resume.replay=r.resume.replay||s("resume.replay"),r.resume.title=r.resume.title||s("resume.title"),Lu(r,"resume.backgroundColor","rgba(0,0,175,0.5)"),Iu(r,"resume.foregroundColor","white")),r.smartAutoPlay.items.forEach(e=>{"default"===e.type&&(Lu(r,"smartAutoPlay.backgroundColor","rgba(0,0,175,0.5)"),Iu(r,"smartAutoPlay.foregroundColor","white"))}),r.smartAutoPlay.items.length&&r.smartAutoPlay.active||(r.style.temporaryBigPlay=!0),null!=(t=r.video)&&t.picStart&&(r.style.temporaryBigPlay=!1),r}function Lu(e,t,r){ku(e,t,"background",r)}function ku(e,t,r,i){var s,t=t.split("."),n=t.pop();n&&(t=t.reduce((e,t)=>e&&"object"==typeof e&&t in e?e[t]:null,e))&&(s=e.style[r]===(null==(s=null==Bs?void 0:Bs.style)?void 0:s[r])?null:e.style[r],t[n]=t[n]||s||i)}function Iu(e,t,r){ku(e,t,"foreground",r)}let w=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var e;this.player.controllers.blockers.noneBlocker("played")&&null!=(e=this.player.config.video)&&e.picStart&&this.player.controls.play()},this.onBeforeUnload=()=>{this.logger.trace("beforeunload");let e=0,t=setInterval(()=>{this.player.played&&this.video.paused&&(this.player.controls.play(),clearInterval(t)),200<=++e&&clearInterval(t)},50)},this.onInitializedMediaSession=()=>{try{null!=navigator&&navigator.mediaSession&&(navigator.mediaSession.setPositionState({duration:0,playbackRate:1,position:0}),this.setMediaSessionArtwork())}catch(e){this.logger.warn("Failed to setup media metadata",e)}},this.onOffline=()=>{var e;this.logger.debug("HLS offline"),null!=(e=this.hls)&&e.stopLoad(),this.player.dispatchEvent(new CustomEvent(js.PLAYER_OFFLINE))},this.onOnline=()=>{var e;this.logger.debug("HLS online"),null!=(e=this.hls)&&e.startLoad(),this.player.dispatchEvent(new CustomEvent(js.PLAYER_ONLINE))}}get currentQualityLevel(){return this._currentLevel}get firstSegmentLoaded(){return this._firstSegmentLoaded}get m3u8(){var e=this.player.config.secure?"m3u8.vturb.net":this.player.config.cdn||"cdn.converteai.net",t=(null==(t=this.settings)?void 0:t.oid)||this.player.config.oid,r=null==(r=this.settings)?void 0:r.id,i=(null==(i=this.settings)?void 0:i.hlsFile)||"main.m3u8";return`https://${e}${this.token}/${t}/${r}/`+i}get qualityLevels(){return this._levels}get token(){if(this.player.config.secure&&!this._token){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-+=.@$!*";var t=Array.from({length:32},()=>e[Math.floor(Math.random()*e.length)]).join("");this._token="/t-"+t}return this._token}addEventListener(e,t,r){$s.includes(e)?super.addEventListener(e,t,r):this.video.addEventListener(e,t,r)}connectedCallback(){let e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return Ru(this,void 0,void 0,function*(){e.connectedCallback.call(this),yield this.updateComplete,yield this.setupHls(),window.addEventListener("offline",this.onOffline),window.addEventListener("online",this.onOnline),window.addEventListener("beforeunload",this.onBeforeUnload),this.player.addEventListener(js.VIDEO_PLAY,this.onInitializedMediaSession),this.disableIosNowPlayingWidget()})}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("offline",this.onOffline),window.removeEventListener("online",this.onOnline),window.removeEventListener("beforeunload",this.onBeforeUnload),this.player.removeEventListener(js.VIDEO_PLAY,this.onInitializedMediaSession),this.hls&&(this.hls.destroy(),this.hls=null),this._firstSegmentLoaded=!1}removeEventListener(e,t,r){"mount"===e||e===js.HLS_FIRST_SEGMENT_LOADED?super.removeEventListener(e,t,r):this.video.removeEventListener(e,t,r)}render(){var e=(null==(t=this.player.config.video)?void 0:t.picStart)&&!(null!=(e=null==(t=this.player.classList)?void 0:t.contains)&&e.call(t,"in-fullscreen")||this.player.interface.fluid)&&this.player.controllers.blockers.noneBlocker("played"),t=h({"-webkit-media-controls-timeline":"none","-webkit-media-controls-timeline-container":"none",cursor:e?"pointer":"default",objectFit:e?"cover":this.objectFit,pointerEvents:e?"auto":"none"});return c``}setMediaSessionArtwork(e){try{null!=navigator&&navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({artwork:[{src:e||this.settings.picStart||this.poster||this.settings.poster||""}],title:window.document.title}))}catch(e){this.logger.warn("Failed to setup media artwork",e)}}setQuality(e,t=!1){this.hls&&-1<=e&&ethis.logger.trace(e,t),error:(e,...t)=>this.logger.error(e,t),warn:(e,...t)=>this.logger.warn(e,t),info:(e,...t)=>this.logger.info(e,t),debug:(e,...t)=>this.logger.debug(e,t),trace:(e,...t)=>this.logger.trace(e,t)},autoStartLoad:!0,enableWorker:!0,maxBufferLength:32,maxBufferSize:1e7,maxMaxBufferLength:32,preferManagedMediaSource:!0,startLevel:0,startPosition:this.hlsVideoPosition,xhrSetup:e=>{e.withCredentials=!1}});var e=Rn()&&In()&&Ln(this.video);vg.isSupported()&&!e?(this.hls.on(vg.Events.MEDIA_ATTACHED,()=>{var e;this.logger.group("debug","HLS attached to video element").message("Media id "+(null==(e=this.hls.media)?void 0:e.id)).end(),this.hls.loadSource(this.m3u8),this.mount()}),this.hls.on(vg.Events.MANIFEST_PARSED,(e,t)=>{this.logger.debug("Manifest loaded, found "+t.levels.length+" quality level"),this._levels=t.levels.map(e=>({bitrate:e.bitrate,height:e.height,width:e.width})),this.dispatchEvent(new CustomEvent("levels-loaded",{detail:{levels:this._levels}}))}),this.hls.on(vg.Events.LEVEL_SWITCHED,(e,t)=>{this._currentLevel=t.level,this.dispatchEvent(new CustomEvent("quality-change",{detail:{auto:this.hls.autoLevelEnabled,level:t.level}}))}),this.hls.on(vg.Events.FRAG_LOADED,()=>this.dispatchFirstSegmentLoaded(),{once:!0}),this.hls.on(vg.Events.ERROR,(e,t)=>{var r;if(t.fatal)switch(t.type){case vg.ErrorTypes.MEDIA_ERROR:this.logger.warn("Fatal media error encountered",t),this.handleMediaError(t);break;case vg.ErrorTypes.NETWORK_ERROR:this.logger.warn("Fatal network error encountered",t),this.handleNetworkError(t);break;default:this.logger.error("Fatal error encountered",t),null!=(r=this.hls)&&r.destroy()}else this.logger.warn("Non-fatal error encountered",t);this.dispatchEvent(new CustomEvent("hls-error",{detail:{details:t.details,fatal:t.fatal,type:t.type}}))}),this.hls.attachMedia(yield this.videoAsync),this.logger.group("info","HLS attached to video element").message("video",this.video).end()):Ln(this.video)?(this.mount(),this.video.src=this.m3u8,this.logger.debug("HLS Native is supported"),this.video.addEventListener("progress",()=>{this.dispatchFirstSegmentLoaded()},{once:!1}),this.video.addEventListener("canplay",()=>{this.dispatchFirstSegmentLoaded()},{once:!0})):this.logger.error("HLS is not supported")})}_onLoadedMetadata(){0{e.mode="hidden"})}_onTrackLoad(e){e=e.target;e.track&&(e.track.mode="hidden")}disableIosNowPlayingWidget(){this.setMediaSessionAction("play",()=>{}),this.setMediaSessionAction("pause",()=>{}),this.setMediaSessionAction("stop",()=>{}),this.setMediaSessionAction("seekto",()=>{}),this.setMediaSessionAction("seekbackward",null),this.setMediaSessionAction("seekforward",null),this.setMediaSessionAction("previoustrack",null),this.setMediaSessionAction("nexttrack",null),this.setMediaSessionAction("skipad",null),this.onInitializedMediaSession()}dispatchFirstSegmentLoaded(){this._firstSegmentLoaded||(this._firstSegmentLoaded=!0,this.dispatchEvent(new CustomEvent(js.HLS_FIRST_SEGMENT_LOADED,{detail:{hls:this.hls,timestamp:Date.now(),video:this.video}})),this.logger.debug("First video segment loaded"))}handleMediaError(e){this._mediaErrorRecoveryAttempt++,3{var e;null!=(e=this.hls)&&e.recoverMediaError(),setTimeout(()=>{this._mediaErrorRecoveryAttempt=0},5e3)},500)}handleNetworkError(e){this.logger.warn("Attempting to recover from network error in 500ms"),setTimeout(()=>{var e;null!=(e=this.hls)&&e.startLoad()},500)}mount(){this.dispatchEvent(new CustomEvent("mount",{detail:{hls:this.hls,video:this.video}}))}setMediaSessionAction(t,e){try{null!=navigator&&navigator.mediaSession&&navigator.mediaSession.setActionHandler(t,e)}catch(e){this.logger.warn("Failed to setup media action: "+t,e)}}}),k=(L.componentName="HlsVideo",L.shadowRootOptions={mode:Ra("closed")},L.styles=e` :host { --style-font-family: "Arial", sans-serif; width: 100%; height: 100%; display: block; } video { width: 100%; height: 100%; object-position: center; position: absolute; top: 0; left: 0; pointer-events: none; z-index: 9999; } video::cue { visibility: hidden; } `,w([Zs()],L.prototype,"autoplay",void 0),w([Zs()],L.prototype,"controls",void 0),w([Zs()],L.prototype,"muted",void 0),w([Zs()],L.prototype,"objectFit",void 0),w([Zs()],L.prototype,"playsinline",void 0),w([Zs()],L.prototype,"poster",void 0),w([Zs()],L.prototype,"preload",void 0),w([Zs()],L.prototype,"settings",void 0),w([Zs()],L.prototype,"subtitles",void 0),w([en("video")],L.prototype,"video",void 0),w([Da("video")],L.prototype,"videoAsync",void 0),w([Zs({type:Number})],L.prototype,"hlsVideoPosition",void 0),L=w([tn("hls-video")],L),function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3{var t=Number(this.input.value);this.value=t>this.max?this.max:t
`}updated(e){e.has("value")&&this.updateSlider()}updateSlider(){var e,t=this.min,r=this.max,r=(this.value-t)/(r-t),t=this.thumb.offsetWidth;this.vertical?(e=(this.slider.offsetHeight-t)*(1-r)+"px",this.style.setProperty("--slider-value-width",100*r+"%"),this.style.setProperty("--thumb-offset",e)):(e=(this.slider.offsetWidth-t)*r+"px",this.style.setProperty("--slider-value-width",100*r+"%"),this.style.setProperty("--thumb-offset",e)),this.dispatchEvent(new Event("change"))}};I.styles=e` :host { --slider-background: #767676; --slider-height: var(--volume-slider-height, 0.125em); /* 2px */ --slider-radius: var(--slider-height); --slider-value-color: #ff6200; --slider-value-width: 0; --slider-value-height: 0; --thumb-color: #adadad; --thumb-diameter: 0.9375em; /* 15px */ --thumb-offset: 0; display: inline-block; } .range-container { position: relative; width: 100%; height: 100%; display: flex; justify-content: flex-start; align-items: center; } .range-slider, .range-slider-value { border-radius: var(--slider-radius); position: absolute; } .range-slider { background: var(--slider-background); width: 100%; height: var(--slider-height); } .range-slider-value { background: var(--slider-value-color); width: var(--slider-value-width); height: var(--slider-height); } :host([vertical]) .range-container { height: 100%; flex-direction: column; } :host([vertical]) .range-slider { width: var(--slider-height); height: 100%; } :host([vertical]) .range-slider-value { width: var(--slider-height); height: var(--slider-value-width); bottom: 0; } :host([vertical]) input { writing-mode: vertical-rl; direction: rtl; width: 100%; vertical-align: bottom; } .range-thumb { background: var(--thumb-color); border-radius: 50%; height: var(--thumb-diameter); position: absolute; width: var(--thumb-diameter); transform: translateX(var(--thumb-offset)); } :host([vertical]) .range-thumb { transform: translateY(var(--thumb-offset)); } input { display: inline-block; height: 100%; width: 100%; margin: 0; opacity: 0; position: relative; cursor: pointer; } :host([disabled]) { --slider-background: #d9d9d9; --slider-value-color: #a8a8a8; --thumb-color: #f0f0f0; } `,k([Zs({reflect:!0,type:Boolean})],I.prototype,"disabled",void 0),k([Zs({type:Number})],I.prototype,"max",void 0),k([Zs({type:Number})],I.prototype,"min",void 0),k([Zs({type:Number})],I.prototype,"step",void 0),k([Zs({type:Number})],I.prototype,"value",void 0),k([Zs({reflect:!0,type:Boolean})],I.prototype,"vertical",void 0),k([en("input")],I.prototype,"input",void 0),k([en(".range-slider")],I.prototype,"slider",void 0),k([en(".range-thumb")],I.prototype,"thumb",void 0),I=k([tn("range-slider")],I);var Cu,Pu,gn,Du,xu,Ou,Mu,Fu,Nu,Ws=e`vturb-headline{display:var(--headlines-display,var(--elements-display,block));opacity:var(--headlines-opacity,var(--elements-opacity,1));height:var(--headlines-height,var(--elements-height))}vturb-bigplay,vturb-call-action,vturb-call-action-v2,vturb-controls,vturb-minihook,vturb-smartautoplay,vturb-thumbsniper{opacity:var(--elements-opacity,1);height:var(--elements-height)}:host{height:auto;display:block;z-index:1;font-size:16px}:host,div[id^=vturb-callaction-container-]{--player-vertical-width:400px;--base-transition-duration:0.3s;--base-transition-delay:0s;--base-transition-cubic:cubic-bezier(0.25, 0.1, 0.25, 1);--base-transition:var(--base-transition-duration) var(--base-transition-cubic) var(--base-transition-delay);--base-linear-transition:0.2s linear}:host .m-w-360,div[id^=vturb-callaction-container-] .m-w-360{font-size:10px}:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-480{font-size:11px}:host .m-w-550,div[id^=vturb-callaction-container-] .m-w-550{font-size:12px}:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-768{font-size:13px}:host .m-w-1024,div[id^=vturb-callaction-container-] .m-w-1024{font-size:14px}:host .m-w-1280,div[id^=vturb-callaction-container-] .m-w-1280{font-size:16px}:host .m-w-1440,div[id^=vturb-callaction-container-] .m-w-1440{font-size:16.5px}:host .m-w-1600,div[id^=vturb-callaction-container-] .m-w-1600{font-size:17px}:host .m-w-1920,div[id^=vturb-callaction-container-] .m-w-1920{font-size:18px}:host,div[id^=vturb-callaction-container-]{--style-background:#000;--style-foreground:#fff;--style-font-family:Roboto,Helvetica,Arial,Tahoma,sans-serif;--style-background-opacity:rgba(0, 0, 0, 0.7);--style-hover-background:rgba(255, 255, 255, .1);--style-dark-hover-background:rgba(0, 0, 0, .85);--fakebar-height:0;--control-index:5;--control-padding:0.625em;--control-font-size:1.5em;--control-height:6.125em;--control-translate-y:100%;--control-gap-vertical:0.875em;--control-gap-horizontal:0.625em;--control-border-radius:0.3em;--control-button-size:1.5em;--control-mobile-button-padding:1em;--control-mobile-button-featured-padding:1.5em;--control-mobile-button-icon-size:2em;--control-mobile-button-featured-icon-size:3em;--progressbar-background-color:rgba(255, 255, 255, 0.2);--progressbar-buffer-color:rgba(255, 255, 255, 0.4);--progressbar-handle-color:var(--style-foreground, #ffffff);--progressbar-height:0.25em;--progressbar-handle-size:0.75em;--headline-font-family:inherit;--headline-margin-bottom:1.875em;--resume-background-color:var(--style-background);--resume-blur:0.3125em;--resume-font-size:1em;--resume-foreground-color:var(--style-foreground);--resume-index:10;--resume-line-height:1.3;--resume-min-width:180px;--thumbsniper-background-color:var(--style-background);--thumbsniper-image-fit:contain;--thumbsniper-index:100;--thumbsniper-button-margin:1.25em;--callaction-background-color:var(--style-background);--callaction-index:100;--callaction-button-margin:1.25em;--volume-slider-width:3.75em;--volume-slider-height:0.25em;--volume-slider-diameter:0.9375em;--player-border-radius:none;--player-box-shadow:none;font-family:var(--style-font-family,sans-serif);--anchor-button-base-font-size:18px;--anchor-button-background-color:var(--style-background);--anchor-button-background-color-hover:var(--style-background-hover);--anchor-button-zindex:100;--anchor-button-border-radius:5px;--anchor-button-color:var(--style-foreground);--anchor-button-color-hover:var(--style-foreground-hover);--anchor-button-font-size:1em;--anchor-button-line-height:1.2;--anchor-button-font-weight:700;--anchor-button-size-lg:1.5em;--anchor-button-size-md:1.25em;--anchor-button-size-sm:1em;--anchor-button-display:inline-block;--anchor-button-padding:1.25em;--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg) * 1);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg) * 0.5) calc(var(--anchor-button-size-lg) * 0.6666666667)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg) * 0.8333333333);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg) * 0.3333333333) calc(var(--anchor-button-size-lg) * 0.5)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg) * 0.6666666667);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg) * 0.16666667) calc(var(--anchor-button-size-lg) * 0.3333333333)}:host,div[id^=vturb-callaction-container-]{--anchor-button-font-size-md:calc(var(--anchor-button-size-md) * 1);--anchor-button-padding-md:calc(var(--anchor-button-size-md) * 0.4) calc(var(--anchor-button-size-md) * 0.6)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-md:calc(var(--anchor-button-size-md) * 0.8);--anchor-button-padding-md:calc(var(--anchor-button-size-md) * 0.3) calc(var(--anchor-button-size-md) * 0.4)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-md:calc(var(--anchor-button-size-md) * 0.7);--anchor-button-padding-md:calc(var(--anchor-button-size-md) * 0.2) calc(var(--anchor-button-size-md) * 0.3)}:host,div[id^=vturb-callaction-container-]{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm) * 1);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm) * 0.25) calc(var(--anchor-button-size-sm) * 0.5)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm) * 0.875);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm) * 0.25) calc(var(--anchor-button-size-sm) * 0.375)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm) * 0.75);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm) * 0.125) calc(var(--anchor-button-size-sm) * 0.25)}:host,div[id^=vturb-callaction-container-]{--bezel-display:initial;--bezel-color:#ffffff;--bezel-animation-duration:0.5s;--bezel-animation-timing:linear;--bezel-scale-start:1;--bezel-scale-end:2;--bezel-opacity-start:1;--bezel-opacity-end:0;--bezel-icon-size:5em;--bezel-icon-padding:1.25em;--bezel-background-color:rgba(0, 0, 0, 0.5);--bezel-border-radius:50%;--bezel-icon-fill:#ffffff;--bezel-loading-min-width:100px;--bezel-loading-width:45%;--bezel-loading-max-width:200px;--bigplay-base-size:10em;--bigplay-border-radius:5em;--bigplay-background:transparent;--bigplay-opacity:0.9;--bigplay-padding-y:1.6em;--bigplay-padding-x:0.8em;--bigplay-size-360:6.5em;--bigplay-size-480:5.75em;--bigplay-size-550:7.5em;--subtitle-max-width:75%;--subtitle-max-width-small:85%;--subtitle-text-shadow:0.5px 0.5px 0.5px rgba(0, 0, 0, 0.8);--subtitle-padding:0.25em 0.4em;--subtitle-line-height:1.675;--subtitle-font-weight:500;--subtitle-letter-spacing:0.03em}.no-pointer,.no-pointer *{pointer-events:none}.pointer,.pointer *{pointer-events:auto}vturb-headline{font-family:var(--headline-font-family,inherit)}vturb-player{height:auto;display:block}`,pn=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(a=(n<3?s(a):3Uu(this,void 0,void 0,function*(){if("function"!=typeof e)return mn(this,Pu,"f").warn("injectUrlUpdater: updater is not a function");yield mn(this,Cu,"m",xu).call(this),mn(this,gn,"f").dispatchEvent(new CustomEvent(js.URL_INJECTION,{detail:{priority:An.MEDIUM,updater:e}}))}),this.setup=s=>Uu(this,void 0,void 0,function*(){var e,t,r=mn(this,Pu,"f").group("info","Player: group setup").message("config",s).message("current config",Object.assign({},this.config)).message("default config",Object.assign({},wu));try{if(this.config=wu(_u(_u(wu,this.config),s)),this.customConfig)try{var i=JSON.parse(this.customConfig);this.config=_u(this.config,i)}catch(e){mn(this,Pu,"f").error("Failed to parse customConfig JSON",e)}r.message("result config",Object.assign({},this.config)).end(),mn(this,Ou,"f").call(this),this.requestUpdate(),null!=(e=mn(this,gn,"f"))&&e.deepUpdate(),mn(this,Pu,"f").debug("config updated",js.PLAYER_CONFIG_UPDATED),this.dispatchEvent(new CustomEvent(js.PLAYER_CONFIG_UPDATED,{detail:{config:this.config}})),null!=(t=mn(this,gn,"f"))&&t.dispatchEvent(new CustomEvent(js.PLAYER_CONFIG_UPDATED,{detail:{config:this.config,player:mn(this,gn,"f")}}))}catch(e){mn(this,Pu,"f").error("Failed to setup player",e)}}),this.urlUpdater=e=>Uu(this,void 0,void 0,function*(){return yield mn(this,Cu,"m",xu).call(this),mn(this,gn,"f").urlUpdater(e)}),Ou.set(this,()=>{this.config.video.widththis.hasPreloadSlot&&mn(this,Cu,"m",Fu).call(this,js.PRELOAD_EXPIRED),Nu.MAX_PRELOAD_SLOT_TIME),"f");this._setup&&this.setup(this._setup)}disconnectedCallback(){window.removeEventListener("resize",mn(this,Ou,"f")),clearTimeout(mn(this,Du,"f"))}displayHiddenElements(e,i,s={}){var t=()=>{var e,t,r;t=this.doc,r=s.display,i.forEach(e=>{t.querySelectorAll(e).forEach(e=>{e.style.display=null!=r?r:"block"})}),s.persist&&mn(this,gn,"f").store.set("displayHiddenElements-"+this.config.id,!0),null!=(e=s.callback)&&e.call(this)};mn(this,gn,"f").store.get("displayHiddenElements-"+this.config.id,!1)?t():this.onTime(e,t,{once:!0})}fullscreen(e){var t;"on"===e?null!=(t=mn(this,gn,"f"))&&t.controllers.fullscreen.active():"off"===e?null!=(t=mn(this,gn,"f"))&&t.controllers.fullscreen.cancel():null!=(e=mn(this,gn,"f"))&&e.controllers.fullscreen.toggle()}mute(){mn(this,gn,"f")&&mn(this,gn,"f").controls.mute()}onTime(e,t){return Uu(this,arguments,void 0,function*(t,r,i={}){yield mn(this,Cu,"m",xu).call(this);let s=e=>{e.detail.time>=t&&(r.call(this),i.once)&&this.removeEventListener(js.VIDEO_TIMEUPDATE,s)};this.addEventListener(js.VIDEO_TIMEUPDATE,s)})}pause(){var e;null!=(e=mn(this,gn,"f"))&&e.controls.pause()}play(){var e;return null==(e=mn(this,gn,"f"))?void 0:e.controls.play()}reload(){return Uu(this,void 0,void 0,function*(){var e=this.config.oid;this.setup({oid:void 0}),yield this.updateComplete,Bu(this,gn,void 0,"f"),this.setup({oid:e})})}render(){var e;return null!=(e=this.config)&&e.oid?(e=this.hasPreloadSlot?"display: none;":"",c`${rn(this.hasPreloadSlot,()=>c``)}`):c``}seek(e){return Uu(this,void 0,void 0,function*(){yield mn(this,Cu,"m",xu).call(this),mn(this,gn,"f").controls.seek(e)})}setVolume(e){var t;if(e<0||100{this.addEventListener(js.PLAYER_READY,e)})},Mu=function(e){if(!mn(this,gn,"f"))try{Bu(this,gn,e.target,"f");let r={config:this.config,player:this};[js.VIDEO_READY,js.LICENSE_DENIED].forEach(e=>{mn(this,gn,"f").addEventListener(e,()=>{this.hasPreloadSlot&&mn(this,Cu,"m",Fu).call(this,js.PRELOAD_REMOVED)})}),mn(this,gn,"f").addEventListener(js.PLAYER_READY,()=>{this.dispatchEvent(new CustomEvent(js.PLAYER_READY,{detail:r})),null!=document&&document.dispatchEvent(new CustomEvent(js.PLAYER_READY,{detail:r}))}),mn(this,gn,"f").addEventListener(js.VIDEO_TIMEUPDATE,e=>{this.dispatchEvent(new CustomEvent(js.VIDEO_TIMEUPDATE,{detail:Object.assign(Object.assign({},r),{time:e.detail.time})}))}),[js.VIDEO_PLAY,js.VIDEO_PAUSE,js.VIDEO_ENDED,js.FULLSCREEN_ENTER,js.FULLSCREEN_EXIT,js.PITCH_TIME,js.CALLACTION_CURRENT_ACTIVE_ITEMS,js.SMARTAUTOPLAY_ACTIVE,js.SMARTAUTOPLAY_INACTIVE,js.SMARTAUTOPLAY_VIDEO_READY].forEach(t=>{mn(this,gn,"f").addEventListener(t,e=>{this.dispatchEvent(new CustomEvent(t,{detail:r}))})})}catch(e){mn(this,Pu,"f").error("Failed to add player event listeners",{error:e})}},Fu=function(e){this.dispatchEvent(new CustomEvent(e,{detail:{config:this.config,player:this}})),this.hasPreloadSlot=!1},R.MAX_PRELOAD_SLOT_TIME=2500,R.shadowRootOptions={mode:Ra()},R.styles=[Ws,A.styles],pn([Zs({type:Object})],R.prototype,"config",void 0),pn([Zs({attribute:"custom-config",reflect:!0,type:String})],R.prototype,"customConfig",void 0),pn([Zs({reflect:!0,type:Boolean})],R.prototype,"fluid",void 0),pn([Zs({reflect:!0,type:Boolean})],R.prototype,"hasPreloadSlot",void 0),pn([Zs({attribute:"original-id",reflect:!0,type:String})],R.prototype,"originalId",void 0),pn([Zs({reflect:!0,type:Boolean})],R.prototype,"pauseOneTouch",void 0),R=Nu=pn([tn("vturb-smartplayer")],R)}})();